Qualquer comparação com
NULL
produz NULL
. Para superar isso, existem três operadores que você pode usar:x IS NULL
- determina se a expressão do lado esquerdo éNULL
,x IS NOT NULL
- como acima, mas o oposto,x <=> y
- compara os dois operandos para igualdade de maneira segura, ou seja,NULL
é visto como um valor normal.
Para o seu código, você pode considerar usar a terceira opção e usar a comparação segura nula:
SELECT * FROM mycompare
WHERE NOT(name <=> fname OR name <=> mname OR name <=> lname)