Lý do là theo đặc tả SQL, Foo IN(A,B,C)
dịch thành ( Foo = A Or Foo = B Or Foo = C )
. Do đó, nếu chúng ta có Foo In(Null, 1, 2)
chúng ta nhận được Foo = Null Or Foo = 1 Or Foo = 2
. Kể từ khi Foo = Null
luôn là UNKNOWN
và được đánh giá là False
cho mục đích lọc, các giá trị Null trong biểu thức IN của bạn sẽ không trả về kết quả.