開発者のためのWebマガジン「CodeZine」の人気連載を大幅加筆・修正して2008年に刊行、好評を博した『達人に学ぶSQL徹底指南書』の改訂・第2版です。
第2版では、初版構成を生かしつつ、SQLの強力な機能ウインドウ関数を全面的に採用して多くのコードをリバイスしました。全体的な解説の見直しや最新化も行ない、CASE式、ウィンドウ関数、外部結合、HAVING句、EXISTS述語など、SQLを扱うエンジニアに必要な「正しい書き方・考え方」「ビッグデータ時代に対応したモダンなSQL機能を駆使した書き方」を徹底解説しています。
標準SQL準拠のため、Oracle/SQL Server/DB2/PostgreSQL/MySQL等々の幅広いデータベースに対応しているほか、実際の開発現場でも活かしやすい実践的なコーディング事例も多数紹介しています。
チューニングテクニックやリレーショナルデータベースの歴史なども網羅。
SQLの原理となっている仕組みや、この言語を作った人々が何を考えて現在のような形にしたのか、というバックグラウンドも掘り起こして伝えます。
・脱初級や、より高みを目指したいDBエンジニア、プログラマ
・「SQLとは何なのか」を知りたいと思っている人
におすすめの一冊です。
第1部 魔法のSQL
1 CASE式のススメ
2 必ずわかるウィンドウ関数
Column なぜONではなくOVERなのか?
3 自己結合の使い方
Column SQL とフォン・ノイマン
4 3値論理とNULL
Column 文字列とNULL
5 EXISTS述語の使い方
6 HAVING句の力
Column 関係除算
Column HAVING 句とウィンドウ関数
7 ウィンドウ関数で行間比較を行なう
8 外部結合の使い方
9 SQLで集合演算
10 SQLで数列を扱う
11 SQLを速くするぞ
12 SQLプログラミング作法
第2部 リレーショナルデータベースの世界
13 RDB近現代史
14 なぜ“関係”モデルという名前なの?
15 関係に始まり関係に終わる
16 アドレス、この巨大な怪物
17 順序をめぐる冒険
18 GROUP BYとPARTITION BY
19 手続き型から宣言型・集合指向へ頭を切り替える7箇条
20 神のいない論理
21 SQLと再帰集合
22 NULL撲滅委員会
23 SQLにおける存在の階層
第3部 付録
A 演習問題の解答
B 参考文献
樋口佳之 さん
2020-03-15
初版も読んでいて、技術書にはあまりない事だけどずっと蔵書しているのに、2版も読んでしまった。後書きによれば著者最後のsql本になるのかも。数学力がもっとあればなあと感じたとのと、やっぱりwindow関数避けていてはダメだなあということ。
EGO-- さん
2019-04-19
読んだ目的は、SQLをよりうまく利用していくために、SQLではどんなことができるのかの幅を知ろうと思っていた。 内容は、求めていたSQLの幅を知るというよりはSQL一つ一つの使い道や特徴などであり、幅広くというよりは深い内容だった。また、SQLの歴史に関しても述べられていた。SQLの歴史を知ることで、SQLの現在の形になった理由、不要な機能の付いている理由、使うべきでない機能などを背景から知ることができた。 今回は軽く流し読みのような形になってしまったため、DBにもう少し慣れた後に再度読み返したい本。
YK さん
2020-01-30
終始CASE文の便利さが語られていました。 INやEXISTなど基本的な構文の復習ができ、集合論にも少し触れられていました。 何度も読み直したいバイブルです