Kazuki.io

プログラミングやITガジェットなどの備忘録だよ。人の役に立てばいいな。

SQL ServerのNOT INはNULLも除外される

つまづきました。なのでメモです。

 

このようなテーブルがあったとします。

SELECT * FROM tTest

f:id:kazukisaito:20200624000351p:plain

ここでValueフィールドが'A'でないものだけ取得しようとして次のWHERE句で絞ると…

SELECT * FROM tTest Where Value NOT IN ('A')

f:id:kazukisaito:20200624000629p:plain

 

...

ValueがNULLであったId=3, 4のレコードもSELECTの結果から外れました。

いや、これがSQLの当たり前なのかもしれないが、かなりハマりました!