以下のサイトの例がわかりやすかったです。
NULLは「不明」と考えると全ての辻褄があう。
ここにあなたの部下のスタンという名前の30歳の男性がいます。
そこにもう一人の部下の男性オリバーが来ました。
オリバーの年齢は「不明(NULL)」です。この状況下であなたは二人がどちらが歳をとっているかと聞かれたらどう答えれば良いでしょうか。
おそらくあなたは「不明(NULL)」と答えるでしょう。だから、「NULL > 30 = NULL」なのです。
引用元:https://minegishirei.hatenablog.com/entry/2023/02/11/195506
例
NULL = 0
nullが不明なので、数値かどうかすらわからないのでnull。
NULL = NULL
不明と不明が正しいか?も比較しようがないのでnull。
NULL <> NULL
不明と不明が正しくないか?も比較しようがないのでnull。
NULL AND TRUE
不明がTRUEの場合は結果はTRUEになるけど、FALSEかもしれない。
どちらかわからないのでnull。
NULL AND FALSE
nullにどんな値が入ろうと、右辺がfalseの時点で条件を満たしていないので結果はfalse。
NULL OR TRUE
nullにどんな値が入ろうと、右辺がtrueの時点で条件を満たしてるので結果はtrue。
NULL IS NULL
NULLはNULLか?と聞いてるのと同じなので、結果true。
おわり
コメント