本書は、開発者向けWebサイト「CodeZine」(コードジン、http://codezine.jp)で、2006年6月から続いている連載を加筆し、再編集したものです。標準SQL準拠のため、Oracle/SQL Server/DB2/PostgreSQL/MySQL等々の幅広いデータベースに対応している他、実際の開発現場でも活かしやすい実践的なコーディング事例も多数紹介。チューニング・テクニックやリレーショナル・データベースの歴史なども網羅しており、脱初級や、より高みを目指したいDBエンジニアに必携の一冊となっています。
※本書には新版がございます
達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ【PDF版】
第1部 魔法のSQL
1-1 CASE式のススメ
~SQLで条件分岐を表現する
演習問題
1-2 自己結合の使い方
~集合指向言語としてのSQL
演習問題
1-3 3値論理とNULL
~SQLの甘い罠
1-4 HAVING句の力
~意外な名脇役
演習問題
1-5 外部結合の使い方
~SQLの弱点:その傾向と対策
演習問題
1-6 相関サブクエリで行と行を比較する
~SQLで行間比較
演習問題
1-7 SQLで集合演算
~SQLと集合論
演習問題
1-8 EXISTS述語の使い方
~SQLの中の述語論理
演習問題
1-9 SQLで数列を扱う
~述語論理を使いこなそう
演習問題
1-10 帰ってきたHAVING句
~もう脇役とは言わせない!
演習問題
1-11 SQLを速くするぞ
~お手軽パフォーマンス・チューニング
1-12 SQLプログラミング作法
~SQLコーディング・スタイルの確立に向けて
第2部 リレーショナル・データベースの世界
2-1 リレーショナル・データベースの歴史
~1969年―全てはここから始まった
2-2 なぜ“関係”モデルという名前なの?
~なぜ“表”モデルという名前ではないのか
2-3 関係に始まり関係に終わる
~閉じた世界の幸せについて
2-4 アドレス、この巨大な怪物
~なぜリレーショナル・データベースにはポインタがないのか?
2-5 GROUP BYとPARTITION BY
~類は友を呼ぶ
2-6 手続き型から宣言型・集合指向へ頭を切り替える7箇条
~円を描く
2-7 SQLと再帰集合
~SQLと集合論の間
2-8 神のいない論理
~論理学の歴史をちょっとだけ
2-9 NULL撲滅委員会
~万国のDBエンジニア、団結せよ!
2-10 SQLにおける存在の階層
~厳しき格差社会
第3部 付録
3-1 演習問題の解答
3-2 参考文献
yuhgle さん
2018-11-29
case式、havingがどれだけ便利か、3値論理(真、偽、unknown)が採用された経緯、使う側がアドレスを意識しなくていいようにする話など、結構勉強になりました。3値論理は人間の論理。caseは項目を定義するところならどこでも書ける。ワークフローで使うような箱と線ではなく円を書こう。
EGO-- さん
2019-04-19
読んだ目的は、SQLをよりうまく利用していくために、SQLではどんなことができるのかの幅を知ろうと思っていた。 内容は、求めていたSQLの幅を知るというよりはSQL一つ一つの使い道や特徴などであり、幅広くというよりは深い内容だった。また、SQLの歴史に関しても述べられていた。SQLの歴史を知ることで、SQLの現在の形になった理由、不要な機能の付いている理由、使うべきでない機能などを背景から知ることができた。 今回は軽く流し読みのような形になってしまったため、DBにもう少し慣れた後に再度読み返したい本。
しんすけ さん
2015-01-03
先日、遠山啓の『無限と連続』を再読したが、本書にも『無限と連続』が紹介されている。SQLの底辺が集合で構成されていることを強調してきたミックだからこそと云う感がある。本書自体は「手強い本だが面白い本」と云える。プログラマ1年生にとっては必要性すら不明な内容だろう。が、現場で毎日SQLと格闘している者には、身に積まされながらも苦笑すら生じる内容が満載されている。SQLのバイブル「プログラマのためのSQL」の副読本として、身近に置いておきたい本のひとつである。