【備忘録】WHEREの条件式まとめ

投稿日: 更新日:

WHEREの構文

WHERE 条件式

このようにシンプルな構文です。

条件式の部分には結果がTRUEもしくはFALSEとなる式を書きます。

演算子一覧

表にまとめました

演算子意味
=左右が等しい
<左辺が右辺未満
>左辺が右辺より大きい
<=左辺が右辺以下
>=左辺が右辺以上
<>左右の値が等しくない
LIKEパターンに一致するかどうか
BETWEEN a AND b値がa以上かつb未満かどうか
IN (v1, v2,..)値がv1, v2,..のいずれかと一致するか
a AND baもbもTRUEかどうか
a OR baもしくはbがTRUEかどうか
NOTTRUE,FALSEの反転
IS NULLNULLかどうか
IS NOT NULLNULLでないかどうか
ALL (v1, v2,..)値の一覧と比較し、全て真かどうか
ANY (v1, v2,..)値の一覧と比較し、1つでも真かどうか

LIKEによるパターンマッチング

パターン文字意味
%任意の0文字以上
_ (アンダースコア)任意の1文字

例えば、「代」で終わる文字列を探すときは

LIKE '%代'

のように使います

エスケープするときは

LIKE '%10$%' ESCAPE '$'--10%で終わる文字列かどうか

のようにESCAPEでエスケープ文字を指定します。エスケープ文字により直後の文字がただの文字として扱われます。

NULL判定

NULLは基本演算子ではなくIS NULLIS NOT NULLを用います

val = NULL --これではNULL判定できない
val IS NULL --これを用いる

ALL ANY 演算子

ALL ANYの前に基本演算子を置きます

< ALL (v1, v2, v3,...)

この時、式がv1, v2, v3...のどのvよりも小さいとき真となります。

ANYの場合

< ANY (v1, v2, v3,...)

この時、式がv1, v2, v3...のどれか1つよりも小さければ真となります。

書いた人

profile_image

お茶の葉

物理とプログラミングが好きな人