Jeder Vergleich mit NULL
ergibt NULL
. Um dies zu umgehen, können Sie drei Operatoren verwenden:
x IS NULL
- bestimmt, ob der linke AusdruckNULL
ist ,x IS NOT NULL
- wie oben, aber umgekehrt,x <=> y
- vergleicht beide Operanden auf sichere Weise auf Gleichheit, d.h.NULL
wird als Normalwert angesehen.
Für Ihren Code sollten Sie die dritte Option in Betracht ziehen und den nullsicheren Vergleich wählen:
SELECT * FROM mycompare
WHERE NOT(name <=> fname OR name <=> mname OR name <=> lname)