ミック 著
本書は、開発者向けWebサイト「CodeZine」(コードジン、http://codezine.jp)で、2006年6月から続いている連載を加筆し、再編集したものです。標準SQL準拠のため、Oracle/SQL Server/DB2/PostgreSQL/MySQL等々の幅広いデータベースに対応している他、実際の開発現場でも活かしやすい実践的なコーディング事例も多数紹介。チューニング・テクニックやリレーショナル・データベースの歴史なども網羅しており、脱初級や、より高みを目指したいDBエンジニアに必携の一冊となっています。
第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 参考文献
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 006 「本書を読むにあたっての注意事項」の追加項目 |
4刷 | 済 |
|
2009.10.26 | ||||||
1刷 | 013 下から1~2行目 |
3刷 | 済 |
|
2009.02.04 | ||||||
1刷 | 018 1段落目の4行目 |
4刷 | 済 |
|
2009.10.26 | ||||||
1刷 | 031 2つ目のコード部分(結果) |
3刷 | 済 |
|
2008.10.30 | ||||||
1刷 | 031 3段落目の2行目 |
3刷 | 済 |
|
2008.10.30 | ||||||
1刷 | 037 中ほどの本文 3行目 |
5刷 | 済 |
|
2010.08.03 | ||||||
1刷 | 037 下部のSQL文と結果 |
未 | 未 |
|
2018.04.09 | ||||||
1刷 | 057 下から4行目 |
未 | 未 |
|
2017.12.18 | ||||||
1刷 | 107 一番下のコードブロックの、上から5行目 |
3刷 | 済 |
|
2009.02.04 | ||||||
1刷 | 112 本文最終行 |
5刷 | 済 |
|
2010.08.03 | ||||||
1刷 | 128 1つ目のリスト囲み、1行目 |
8刷 | 済 |
|
2012.06.26 | ||||||
1刷 | 128 ページ中ほど |
8刷 | 済 |
|
2012.09.06 | ||||||
1刷 | 169 ページ下部のSQL文中のコメント |
7刷 | 済 |
|
2012.03.05 | ||||||
1刷 | 188 下から10行目 |
未 | 未 |
|
2018.01.31 | ||||||
1刷 | 207 「IN 述語で複数のキーを利用する場合は、一箇所にまとめる」5行目 |
未 | 未 |
|
2017.08.24 | ||||||
1刷 | 316 項目「COALESCE関数」の参照ページ |
4刷 | 済 |
|
2009.10.26 | ||||||
1刷 | 奥付 著者紹介 1行目 |
3刷 | 済 |
|
2009.06.26 |
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」の副読本として、身近に置いておきたい本のひとつである。