SQLの奥深さに触れよう セルコ第4版の歩き方~第5回札幌MySQL勉強会
- 3. 自己紹介
• 坂井 恵(さかい けい) @sa
kaik
• 茨城県稲敷郡出身
• 千葉県我孫子市在住
■好き (参考)
ラーメン パズル 将棋(見るだけ)
自転車ロード(見るだけ) 音楽 歌舞伎(見
るだけ)
仕事と関係ないことを知ること 初めての街歩き
Facebook, twitter, gmail
など。
興味関心の合う方、おしゃべり
しましょう!
- 15. なんの本なのか?
• 主に「SQL」について、
• ジョー・セルコが
• 気をつける点や、興味深い使い方などを
• 気が向くままに語ってくれている本
イメージとして・・・・・
「語り出すと止まらないジョー・セルコさんが、
飲み屋でSQLの話を始めてしまい、
もう誰も止められない状態。
(マイクを離さない状態)」
⇒でも、持っている知識と経験が膨大だから、おもしろ
い!
ここ、今日のポイント!
この雰囲気さえ掴んでくれたら
あとは、気楽にこの本を楽しんでも
らいたいです。
- 18. セルコ4版 もくじ(日本版)
• 第1章 データベース VS ファイルシステム
• 第2章 トランザクションと同時実行制御
• 第3章 スキーマレベルのオブジェクト
• 第4章 ロケータと特別な数
• 第5章 基底テーブルとそれに関連する要素
• 第6章 手続き型プログラミング、半手続き
型プログラミング、宣言型プログラミング
• 第7章 手続き型の遺産
• 第8章 補助テーブル
• 第9章 正規化
• 第10章 数値型
• 第11章 時間型
• 第12章 文字列型
• 第13章 NULL:SQLにおける失われたデータ
• 第14章 複数列のデータ要素
• 第15章 テーブルの操作
• 第16章 比較演算子またはシータ演算子
• 第17章 評価述語
• 第18章 CASE式
• 第19章 LIKE述語とSIMILAR TO述語
• 第20章 BETWEEN述語とOVERLAPS述語
• 第21章 [NOT] IN 述語
• 第22章 EXISTS述語
• 第23章 量化子とサブクエリ述語
• 第24章 単純なSELECT文
• 第25章 高度なSELECT
• 第26章 仮想テーブル─ビュー、導出テーブ
ル、共通表式、マテリアライズドクエリテー
ブル
• 第27章 クエリによるデータの分割
• 第28章 グルーピング演算子
• 第29章 単純な集約関数
• 第30章 高度な集約、ウィンドウ関数、OLAP
• 第31章 SQLにおける記述統計
• 第32章 SQLにおける数列の扱い
• 第33章 SQLにおける配列
• 第34章 集合演算
• 第35章 部分集合
• 第36章 SQLで木と階層構造を扱う
• 第37章 SQLにおけるグラフ
• 第38章 時間を扱うクエリ
• 第39章 SQLの最適化
- 31. (補足)ざっとメモ程度ですが各項目につ
いて概要だけ追記しておきます(公開資料
用)
• 知ってた? WHERE句のIN節に書けるもの
– INの左側に書けるのはカラム名だけとは限らない。
– 左側に値、右辺の括弧内にカラムを並べてもいいんだよ。
• 左から処理するMySQL(15章)
– セルコ第4版では、選択クエリの列名羅列部分に記述されたもの
は「同時に」処理される、とあるが、MySQLでは左から順に評
価されていく。他のDBMSと異なるので、注意が必要。
• ソート順で、NULLは前?あと?(7章)
– NULLが含まれる可能性のある列でソートを行う場合、NULLを先
頭にもってきたい場合と、最後にしたい場合がある。
– MySQLのデフォルトでは、NULLは前(もっとも小さい)。
– クエリの書き方を工夫により、どちらにも対応可能
(オプション設定ではなく)