sql >> Database >  >> RDS >> Mysql

Hoe werkt NOT IN subquery met NULL-waarden?

De reden is dat volgens de SQL-specificatie, Foo IN(A,B,C) vertaalt naar ( Foo = A Or Foo = B Or Foo = C ) . Dus als we Foo In(Null, 1, 2) . hebben we krijgen Foo = Null Or Foo = 1 Or Foo = 2 . Sinds Foo = Null is altijd UNKNOWN en geëvalueerd tot False voor filterdoeleinden zullen Nulls in uw IN-expressie geen resultaten opleveren.



  1. Selecteer alleen de tijdstempels van vandaag (sinds middernacht)

  2. Stop MySQL met het hergebruiken van AUTO_INCREMENT ID's

  3. Mysql-query met Left Join is te traag

  4. Bijwerken van gegevenssetquery na invoer van parameters in BIRT