sql >> Database teknologi >  >> RDS >> Mysql

Hvordan fungerer NOT IN underforespørgsel med NULL-værdier?

Årsagen er, at ifølge SQL-specifikationen Foo IN(A,B,C) oversættes til ( Foo = A Or Foo = B Or Foo = C ) . Således, hvis vi har Foo In(Null, 1, 2) vi får Foo = Null Or Foo = 1 Or Foo = 2 . Da Foo = Null er altid UNKNOWN og evalueret til False med henblik på filtrering vil nuller i dit IN-udtryk ikke returnere nogen resultater.



  1. PL/SQL - Brug listevariabel i Where In-klausul

  2. Hvordan tæller jeg kolonner i en tabel

  3. PayPal POST-data efter vellykket betaling

  4. MySQL VARCHAR(255) UTF8 er for lang til nøgle, men maks. længde er 1000 bytes