sql >> Database teknologi >  >> RDS >> Sqlserver

T-SQL ikke i (vælg virker ikke (som forventet)

NOT IN opfører sig ikke som forventet, når in-listen indeholder NULL værdier.

Faktisk, hvis nogen værdier er NULL , så returneres ingen rækker overhovedet. Husk:I SQL, NULL betyder "ubestemt" værdi, ikke "manglende værdi". Så hvis listen indeholder nogen NULL værdi, så måske det være lig med en sammenligningsværdi.

customerid skal være NULL i orders tabel.

Af denne grund anbefaler jeg kraftigt, at du altid bruger NOT EXISTS med en underforespørgsel i stedet for NOT IN .



  1. Skal primærnøgler altid føjes til en innodb-tabel?

  2. Marker for at indsætte eller opdatere tabel

  3. Hvad er række-, side- og tabellåse? Og hvornår er de erhvervet?

  4. Tips til at reducere din SQL Server-kompleksitet