something <> NULL
akan mengevaluasi ke NULL
. Dan jika digunakan dalam kueri yang hampir sama dengan 0
(atau false
).
Ingat bahwa SQL menggunakan logika tiga nilai dan bukan logika biner sederhana.
Anda mungkin perlu memeriksa NULL secara eksplisit menggunakan IS NULL
:
... OR THING IS NULL
Sebagai alternatif, Anda dapat menggunakan NULL-safe equals operator <=>
dengan negasi (ini khusus MySQL, ini bukan SQL standar
):
... AND NOT (THING <=> 'This')