SQL学習シリーズ②:WHERE句
はじめに
前回はSELECT句について見ていきました。構文的には次はFROMなのですがテーブル結合の話はSELECTの後にすると重いため、次はWHEREについて書いていきます
WHERE
演算子を使った検索条件を指定して、テーブルデータと重なる部分を抽出します
ベン図とは違いますが例えるならA ∩ Bみたいな感じです
基本構文
基本の形
SELECT * FROM users WHERE age >= 20;
演算子
| 演算子 | 意味 | 演算子 | 意味 |
|---|---|---|---|
| = | 等しい | AND | かつ |
| > | 大きい | OR | または |
| >= | 以上 | BETWEEN a AND b | a以上b以下 |
| < | 小さい | IN | いずれかを含む(まとめて指定する時に良い。ORの代わり) |
| <= | 以下 | LIKE | 文字列の1ぶとを含むパターン(%は0文字、_は任意の1文字) |
| != | 等しくない | IS NULL | NULL値のフィールド |
| IS NOT NULL | 値のあるフィールド |
覚えるべきことはこれくらいですが頻出であるため絶対に覚えておきましょう。
性質
WHERE句は論理的な実行順はFROM句の次にあたります。
これによりWHERE句は以下の特性を持ちます
GROUP BYが行われる前に不要な行をはじくためGROUP BY処理の対象となる行数を減らせる- インデックスを使った絞り込みが可能(B-Treeについては勉強不足なので後日まとめる)