Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

T-SQL não está em (selecione não está funcionando (como esperado)


NOT IN não se comporta como esperado quando a lista contém NULL valores.

Na verdade, se algum valor for NULL , nenhuma linha será retornada. Lembre-se:em SQL, NULL significa valor "indeterminado", não "valor ausente". Portanto, se a lista contiver qualquer NULL valor então poderia ser igual a um valor de comparação.

Então, customerid deve ser NULL nos orders tabela.

Por esse motivo, recomendo fortemente que você sempre use NOT EXISTS com uma subconsulta em vez de NOT IN .