NOT IN
no se comporta como se esperaba cuando la lista contiene NULL
valores.
De hecho, si algún valor es NULL
, entonces no se devuelve ninguna fila. Recuerde:en SQL, NULL
significa valor "indeterminado", no "valor faltante". Entonces, si la lista contiene cualquier NULL
valor entonces podría ser igual a un valor de comparación.
Entonces, customerid
debe ser NULL
en los orders
mesa.
Por esta razón, le recomiendo enfáticamente que siempre use NOT EXISTS
con una subconsulta en lugar de NOT IN
.