Any comparison with NULL
yields NULL
. To overcome this, there are three operators you can use:
x IS NULL
– determines whether left hand expression isNULL
,x IS NOT NULL
– like above, but the opposite,x <=> y
– compares both operands for equality in a safe manner, i.e.NULL
is seen as a normal value.
For your code, you might want to consider using the third option and go with the null safe comparison:
SELECT * FROM mycompare
WHERE NOT(name <=> fname OR name <=> mname OR name <=> lname)