WHERE句について

NULLを判別する(IS NULL, IS NOT NULL)

NULLを判別する場合、IS NULL / IS NOT NULL を使用する。

NULLは = / <> では判別できない!

SELECT *
  FROM 銀行
 WHERE 出金額 IS NULL

パターンマッチング(LIKE)

文字列があるパターンに合致しているかをチェックすること。

パターン文字 意味
% 任意の0文字以上の文字列
_ 任意の1文字
SELECT *
  FROM 銀行
 WHERE メモ LIKE '%1月%' 

パターン文字をLIKEで検索したい場合、ESCAPE句を使用する。

SELECT *
  FROM 家計簿
 WHERE メモ LIKE '%100$%' ESCAPE '$'

範囲検索(BETWEEN)

SELECT *
  FROM 銀行
 WHERE 出金額 BETWEEN 2000 AND 5000 -- 2000以上、5000以下

リスト検索(IN, NOT IN)

式 IN ( 値1, 値2, 値3....)

値リストのいずれかにマッチした場合にtrueを返す。

SELECT *
  FROM 家計簿
 WHERE 費目 IN ('食費', '交際費')

式 NOT IN ( 値1, 値2, 値3....)

値リストのいずれにもマッチしなかった場合にtrueを返す。

  SELECT *
  FROM 家計簿
 WHERE 費目 NOT IN ('食費', '交際費')

ANDとOR

条件式1 AND 条件式2 
条件式1 OR 条件式2

NOT

NOT 条件式

論理演算子の優先度

以下の順で優先される。

  1. NOT
  2. AND
  3. OR