『達人に学ぶSQL徹底指南書』読んだ

最近は RDBSQL について集中的に学習したい衝動に駆られているので、 今度は SQL のテクニックを身に着けるために本書を購入してみた。

本書では数々の SQL のテクニックが紹介されているが、 その中心はなんといっても CASE 式。 CASE 式徹底指南書と呼んでもいいじゃないだろうか。

特にインパクトがあったのは次の一文。

WHERE 句で条件分岐させるのは素人のやること。 プロは SELECT 句で分岐させる。

似たようなのにこんなのもあった。

HAVING 句で条件分岐させるのは素人のやること。 プロは SELECT 句で分岐させる。

WHERE 句や HAVING 句の条件が違う SQL を、 IF で分岐させて記述したり、 パラメータを変えて何回も実行したりしていた自分は、 まさに SQL 素人だったというわけだ。

CASE は式なので、式が書ける場所はどこでも使える。 SELECT だけじゃなく、GROUP BY や集約関数の中でも使えたりするから、 書ける SQL の幅が一気に広がる。

CASE 式を使いこなせるようになることが、 SQL の素人を脱してプロになるための第一歩だな。

達人に学ぶ SQL徹底指南書

達人に学ぶ SQL徹底指南書