WHERE句について
- NULLを判別する(IS NULL, IS NOT NULL)
- パターンマッチング(LIKE)
- 範囲検索(BETWEEN)
- リスト検索(IN, NOT IN)
- ANDとOR
- NOT
- 論理演算子の優先度
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 条件式
論理演算子の優先度
以下の順で優先される。
- NOT
- AND
- OR