達人に学ぶSQL徹底指南書 第2版 Chapter1
オンラインSQL環境
- Convert CSV to SQL ...データからcreate/insert文つくる
- 勉強的には自分で書くのが一番良いんでしょうけど
- SQLite Browser ...サンプル実行
- 軽快
- URL共有できる
1. CASE式のススメ
WHERE句で条件分岐させるのは素人のやること。プロはSELECT句で分岐させる
HAVING句で条件分岐させるのは素人のやること。プロはSELECT句で分岐させる
CASE式とは
- 手続き型言語で言うところの三項演算子
cond ? a : b
や、pythonのa if cond else b
を連結したものに近しい- Short-Circuit Evaluationであるところもそっくり
- Lispの
cond
マクロはまんまそれ - 「式」(Expression) なのである
「文」(sentence)や「句」(clause)ではないので、文法上どこにでも置ける
CASE式使え
注意点
- END忘れるな
- ELSE書け
- 書かないと、暗黙で
ELSE NULL
と解釈される NULL
でいいときも書け- 手続き型言語の
switch-case
で、何もしなくてもdefault:break;
を書く気持ちと似ているかも
- 手続き型言語の
- 書かないと、暗黙で
SELECT
CHECK制約
UPDATE
テーブル同士のマッチング
STUB