SQLデータ分析入門#2『SELECT ~ FROM ~ を理解する』 - Qiita
の続き
本記事のスコープ
- 「WHERE」の意味がわかる
- andやorで条件をつなげることができる
1行で説明すると
条件に応じたものだけ表示する、フィルタみたいなもの
その前に条件の書き方
これだけは覚えてほしい
いずれわかればいい
比較演算子 - MySQLの基本構文 - MySQLの使い方より
例えば
ある1つの条件を満たしたものをとってくる
IDが1
SELECT *
FROM User
WHERE ID = 1
性別がf
SELECT *
FROM User
WHERE 性別 = "f" -- 文字(列)は""か''で囲むべし
身長が170以上
SELECT *
FROM User
WHERE 身長 >= 170
2つの条件”両方”満たしたものをとってくる(AND条件)
身長が170以上の女性(f)
SELECT *
FROM User
WHERE 身長 >= 170 AND 性別 = "f"
2つの条件”いずれかを”満たしたものをとってくる(OR条件)
身長が170以上か、男性(m)
SELECT *
FROM User
WHERE 身長 >= 170 OR 性別 = "m"
複数の条件を満たしたものを取ってくる
IDが1か3か5
SELECT *
FROM User
WHERE
ID = 1
OR ID = 3
OR ID = 5
IN句を使うことで、同じ内容をこのようにも書ける
SELECT *
FROM User
WHERE ID in (1, 3, 5)
IDが1か3か5の、女性
ANDとORを組み合わせるときは要注意。
読みやすさと、間違えにくさの観点から、()でくくると優先されるというルールを活用する
詳細は:複数条件での検索(AND, OR) » MySQL入門 | MySQL入門
SELECT *
FROM User
WHERE
(
ID = 1
OR ID = 3
OR ID = 5
)
AND 性別 = "f"
推薦図書
よくあるSQL本はエンジニア向けなのですが、この本は分析をしたいだけの人に向いてます。
前後の記事
SQLデータ分析入門#1『SQLってなんだ』 - Qiita
SQLデータ分析入門#2『SELECT ~ FROM ~ を理解する』 - Qiita
SQLデータ分析入門#3『WHERE句を理解する』 - Qiita
SQLデータ分析入門#4『LIMIT句を理解する』 - Qiita
SQLデータ分析入門#5『集計関数を理解する』 - Qiita
SQLデータ分析入門#6『結果の順番をいい感じにする』 - Qiita
SQLデータ分析入門#7『複数のテーブルにまたがって集計する』 - Qiita
SQLデータ分析入門#8『基本的な関数を知る』 - Qiita