NOT IN
ne se comporte pas comme prévu lorsque la liste contient NULL
valeurs.
En fait, si des valeurs sont NULL
, aucune ligne n'est renvoyée. N'oubliez pas :en SQL, NULL
signifie valeur "indéterminée", et non "valeur manquante". Donc, si la liste contient un NULL
valeur alors il pourrait être égal à une valeur de comparaison.
Donc, customerid
doit être NULL
dans les orders
tableau.
Pour cette raison, je vous recommande fortement de toujours utiliser NOT EXISTS
avec une sous-requête plutôt que NOT IN
.