Open2
【達人に学ぶSQL徹底指南書メモ】4. 3値論理とNULL

4.1 NULL は値ではない
NULL は値ではないので、以下の式は unknown に評価される。
1 = NULL
2 > NULL
3 < NULL
4 <> NULL
NULL = NULL
NULL > NULL
NULL < NULL
NULL <> NULL
= NULL
ではなく、IS NULL
と書く必要がある。

4.2 3値論理の真理表
SQL は true, false, unknown の 3 つの真理値を持つ 3 値論理に従う。
NOT
x | NOT x |
---|---|
t | f |
u | u |
f | t |
AND
AND | t | u | f |
---|---|---|---|
t | t | u | f |
u | u | u | f |
f | f | f | f |
OR
OR | t | u | f |
---|---|---|---|
t | t | t | t |
u | t | u | u |
f | t | u | f |
unknown が論理演算に紛れ込むと、SQL が直感に反する動作をする。