Всяко сравнение с NULL
дава NULL
. За да преодолеете това, можете да използвате три оператора:
x IS NULL
- определя дали изразът на лявата ръка еNULL
,x IS NOT NULL
- като по-горе, но обратното,x <=> y
- сравнява двата операнда за равенство по безопасен начин, т.е.NULL
се разглежда като нормална стойност.
За вашия код може да искате да помислите за използването на третата опция и да преминете към нулево безопасно сравнение:
SELECT * FROM mycompare
WHERE NOT(name <=> fname OR name <=> mname OR name <=> lname)