Toute comparaison avec NULL
donne NULL
. Pour surmonter cela, vous pouvez utiliser trois opérateurs :
x IS NULL
- détermine si l'expression de la main gauche estNULL
,x IS NOT NULL
- comme ci-dessus, mais le contraire,x <=> y
- compare les deux opérandes pour l'égalité de manière sûre, c'est-à-direNULL
est considérée comme une valeur normale.
Pour votre code, vous voudrez peut-être envisager d'utiliser la troisième option et opter pour la comparaison sécurisée nulle :
SELECT * FROM mycompare
WHERE NOT(name <=> fname OR name <=> mname OR name <=> lname)