2値倫理と3値倫理とSQL
2値論理
ある命題について、真か否かを真偽値で返す論理
論理で
命題は=Propositionと呼ばれ
正しい命題は真である=Trueと呼ばれ
正しくない命題は偽である=Falseと呼ばれる
すなわち2値論理では
命題の結果を、真Trueか偽Falseの2つの値で表現すること。
3値論理
2値論理の真偽値に加え、第三の値の
「不明(Unknown)」
の3つの値で表現。
SQLではこの3値論理が使われる。
NULL
SQL上ではNULLという表現は一つしかないが
厳密にいうとNULLには
「未知(Unknown)」と「適用不能(Not Applicable, Inapplicable)」
と二つの種類がある。
「未知のNULL(Unknown)」とは
そこになにがあるかは確かだが
現時点でなにがあるかは分からない。だが
いずれ分かる可能性があるもの
「適用不能のNULL(Not Applicable, Inapplicable)」とは
聞かれたところで適用ができない、
そもそもわかる可能性がないもの
SQLでは双方がNULLと表現される
3値論理におけるANDとORの優先順位
3つの真理値における優先順位です
◆ANDの場合: False>Unknown>True
◆ORの場合: True>Unknown>False
強いほうが弱いほうを打ち消す。