Qualsiasi confronto con NULL
restituisce NULL
. Per ovviare a questo, ci sono tre operatori che puoi usare:
x IS NULL
- determina se l'espressione della mano sinistra èNULL
,x IS NOT NULL
- come sopra, ma il contrario,x <=> y
- confronta entrambi gli operandi per l'uguaglianza in modo sicuro, cioèNULL
è visto come un valore normale.
Per il tuo codice, potresti prendere in considerazione l'utilizzo della terza opzione e il confronto sicuro nullo:
SELECT * FROM mycompare
WHERE NOT(name <=> fname OR name <=> mname OR name <=> lname)