私は次の理由の背後で混乱していました。
SELECT * FROM table WHERE avalue is null
'avalue' が null の x 行を返します
SELECT * FROM table WHERE avalue <> true
'avalue' が null である行を返しません。
私の推論 (これは間違っているようです)null
は、一意の値 ( と等しくないnull
) は、どちらにも等しくないため、結果セットに表示される必要があることを意味しtrue
ます。
column <> value
列に値があることを暗示していると言って、null
値を完全に無視していると主張できると思います。
これの背後にある理由は何ですか?これは他の一般的な SQL DB でも同じですか?
私の推論 (仮定) は、これは直観に反するものであり、その理由を知りたいと言っています。