Dowolne porównanie z NULL
daje NULL
. Aby rozwiązać ten problem, możesz użyć trzech operatorów:
x IS NULL
- określa czy wyrażenie lewej ręki jestNULL
,x IS NOT NULL
- jak powyżej, ale odwrotnie,x <=> y
- porównuje oba operandy pod kątem równości w bezpieczny sposób, tj.NULL
jest postrzegana jako wartość normalna.
W przypadku kodu możesz rozważyć użycie trzeciej opcji i przejść do bezpiecznego porównania zerowego:
SELECT * FROM mycompare
WHERE NOT(name <=> fname OR name <=> mname OR name <=> lname)