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)