Fordi enhver sammenligningsoperator over NULL vises i et sql-filter bør (og gør) gøre rækken ikke markeret.
Du skal bruge null safe operator <=> at sammenligne med kolonne, der indeholder NULL værdier og andre IKKE NULL værdi, men <=> returnerer 1 når begge operander er NULL fordi NULL betragtes aldrig som lig med NULL .
Dette er et eksempel på en situation, hvor null safe-operatør er nyttig:
Du har et bord:
Phones
----
Number
CountryCode (can be NULL)
Og du vil vælge alle telefonnumre, der ikke er fra Spanien (landekode 34). Det første forsøg er normalt:
SELECT Number FROM Phones WHERE CountryCode <> 34;
Men du bemærker, at der er telefoner uden landekode (NULL-værdi), som ikke er angivet, og du vil inkludere dem i dit resultat, fordi de heller ikke er fra Spanien:
SELECT Number FROM Phones WHERE CountryCode <=> 34;