sql >> Base de Datos >  >> RDS >> Sqlserver

T-SQL no está en (seleccione no funciona (como se esperaba)

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 .