HexWolf Blog

SQL学習シリーズ②:WHERE句

はじめに

前回はSELECT句について見ていきました。構文的には次はFROMなのですがテーブル結合の話はSELECTの後にすると重いため、次はWHEREについて書いていきます

WHERE

演算子を使った検索条件を指定して、テーブルデータと重なる部分を抽出します
ベン図とは違いますが例えるならA ∩ Bみたいな感じです

基本構文

基本の形

SELECT * FROM users WHERE age >= 20;

演算子

演算子意味演算子意味
=等しいANDかつ
>大きいORまたは
>=以上BETWEEN a AND ba以上b以下
<小さいINいずれかを含む(まとめて指定する時に良い。ORの代わり)
<=以下LIKE文字列の1ぶとを含むパターン(%は0文字、_は任意の1文字)
!=等しくないIS NULLNULL値のフィールド
IS NOT NULL値のあるフィールド

覚えるべきことはこれくらいですが頻出であるため絶対に覚えておきましょう。

性質

WHERE句は論理的な実行順はFROM句の次にあたります。

これによりWHERE句は以下の特性を持ちます

  • GROUP BYが行われる前に不要な行をはじくためGROUP BY処理の対象となる行数を減らせる
  • インデックスを使った絞り込みが可能(B-Treeについては勉強不足なので後日まとめる)