『スッキリわかるSQL入門』を読みました!

はじめに

『スッキリわかるSQL入門』を数年前にも読んだのですが、機会があって再度読み直したので、感想をまとめたいと思います!

良かったところ

文章が読みやすい

スッキリシリーズは、Javaも読んだことがあるんですが、それと同じく読みやすいです! 固くない文章で、読んでいてすっと頭に入ってきます。

基本的なことが抑えられる

業務でSQLはよく使っています。 そのとき使っている構文は一通り網羅されているなという印象です。

学んだこと

再度の読み返しなので、ほとんど知っている内容が多かったのですが、それでもこういう構文があったのか!など特に学んだと感じた箇所をまとめます。

集合演算子

INTERSECT演算子で積集合を取得できます。
積集合とは、2つのSELECT分に共通する行を集めた集合のことです。

SELECT カラムA FROM テーブルA
INTERSECT
SELECT カラムA FROM テーブルB

上記のSQL分を実行すると、テーブルAとテーブルBの両方にあるカラムAを取得することができます。

集合演算子は他にも和集合(UNION)や差集合(EXCEPT)があります。

ANY / ALL 演算子

比較対象を複数の値とを比較したい時に用いる演算子です。

ANY

値リスト(値1, 値2, 値3 ...)のそれぞれと値を比較して、いずれかが真なら真となります。

比較対象 基本比較演算子 ANY (値1, 値2, 値3 ...)

ALL

値リスト(値1, 値2, 値3 ...)のそれぞれと値を比較して、すべてが真なら真となります。

比較対象 基本比較演算子 ALL (値1, 値2, 値3 ...)

インデックス設定の効果が高い列リスト

読み返している時にちょうど、インデックス設定をする列を検討していたので、参考になりました。

  • WHERE句に頻繁に登場する列
  • ORDER BY句に頻繁に登場する列
  • JOINの結合条件に頻繁に登場する列

まとめ

知っている内容が多い読み返しでしたが、知識の復習や前に読んだ時は理解し足りなかったところを補強できたので良かったです。