log > 「SQL実践入門」を読み終えた

「SQL実践入門」を読み終えた

良本。

SQLの基本的なことは知ってるが、実際に仕事で使う際、どう書くのがベターなのかわからなかったので購入した。

サブタイトルにもあるように、高速でわかりやすいSQLを書くための本。大量のデータを処理する際に、どのように記述すれば高速でパフォーマンスのいいSQLを書けるのか、同じ結果になるのにどうして自分のSQLが低速なのかがわかる。

本書は、第3章からCASE式をWHEREの代わりに使っているなど基本的なことは理解していることを前提としているため、初心者向けではない。初学者〜中級者向け。初心者はキリン本おうちで学べるデータベースのきほんなど初心者向けの本を読んだ方がいい。

個人的には、結合の章がよかった。クロス結合を知らなかったので、クロス結合から内部結合、外部結合へと進んでいく説明はわかりやすかった。内部結合でベン図のようなものを想像していたが、すぐに説明図が出てきたので勘違いせずにすんだ。

また、ぐるぐる系とそれ以外のやり方が比較されており、参考になった。個人的に大量のデータを扱わないのでぐるぐる系でやっていたが、ガツン系の方がいいのだろうと単純に考えていた。しかし、それぞれに利点と欠点があり、適切な方を選ぶ必要があるのだとわかった。

この本では唯一、入れ子集合モデルのあたりがわからなかった。これは、たぶん私の頭がよくないか、入れ子集合モデルの作り方やアルゴリズムを調べなかったせいだと思う。SQLではなく、ほかの部分に気が散って理解できなかった。

ともあれ、ほかの部分に関しては理解できたし、演習問題もなんとかできたのでよかった。今後も「ベターなSQLを書きたいが迷っているとき」にちょくちょく参考にできそうなので、買ってよかった。


この本とは関係ないが、COALESCE(コアレス)関数の読み方が未だに覚えられない。