叫ぶうさぎの悪ふざけ

うさぎが目印のWebエンジニアが、得たことや思ったことを言の葉に乗せて叫ぶ場所です。

学習記録:12月2日(日):達人に学ぶSQL徹底指南書 第1部 魔法のSQL 1.CASE式のススメ

これは 俺のインプットアウトプット記録 Advent Calendar 2018 の2日目のエントリーです。

常日頃からSQL力(ちから)不足を感じていたところ、以前に購入して積ん読になっていた 達人に学ぶSQL徹底指南書 の第二版が出版されました。

最新のWindow関数も掲載されているということで見た瞬間に購入。しかしこのまま積ん読も怖い…。

と思っていたら、[秋葉原] 達人に学ぶSQL徹底指南書 輪読&勉強会 第1部 魔法のSQL で輪読会をやるということに。なんとありがたいことだ…。

ということで、これは参加しない手はない、読み進めよう!ということで進めています。

まずCASE式から

CASE式だけで24ページあります。正直あんまり使いこなしていなかった式からがっつり入るんだな、と思いつつ、読み進めていく。 これが非常に丁寧でわかりやすい。

  • なぜ必要なのか
  • どういう場面で使うのか
  • IFやDECODEと比べてどうなのか
  • 応用すると真価を発揮する
  • Oracleなどにもきてほしいね

ということが実際のデータとSQLを例に解説されていきます。

僕自身も実際にデータを作ってSQLを実行してやってみているんですが、ちょうど今の仕事でPostgreSQLを使っているので、そちらで試しています。

試したコードも貼っていこうと思うんですが、まずは読み進めということで、書籍に準ずる形でメモを残してます。

esa-pages.io

感想Tweet

いただいたリプ

なんとMySQLユーザー会副会長の 坂井 恵(SAKAI Kei) さん!

安心してください!第二版です!!!!

感想

書籍の導入部分に 実務でのSQLプログラミング半年〜1年 と書かれている通り、SQLの基本的な構文は一通りやっている前提なのかな、と思います。

その上で、じゃあどんな場面でどんな式を使うのか、という内容を歴史や実例を伴って解説してくれています。

まだまだ第1章の途中までしか読んでいませんが、ずっと前から名著と呼ばれる理由をしょっぱなから実感してます。

もしSQL力(ちから)を高めたい、雰囲気で使ってる部分をわかりたい、 プログラマのためのSQL を読んで難しすぎて投げ出した!って人は必読かなって思います。

あと、次のページに出てくるんですが、 WHERE句で条件分岐させるのは素人のやること、プロはSELECT句で分岐させる と明言されていて、非常に使い勝手のいいテクニックとのこと。

ひとつずつ基礎が身についていくこの感覚、すごく楽しいです。