sql >> Databáze >  >> RDS >> Mysql

Jak poddotaz NOT IN pracuje s hodnotami NULL?

Důvodem je, že podle specifikace SQL Foo IN(A,B,C) překládá do ( Foo = A Or Foo = B Or Foo = C ) . Pokud tedy máme Foo In(Null, 1, 2) dostaneme Foo = Null Or Foo = 1 Or Foo = 2 . Protože Foo = Null je vždy UNKNOWN a vyhodnoceno jako False pro účely filtrování nevrátí hodnoty Null ve vašem výrazu IN žádné výsledky.



  1. flush tables - přístup odepřen

  2. Psaní velkých písmen jmen osob v programování

  3. Šifrování hodnoty pomocí funkce AES_ECRYPT MySQL a její předání v řetězci URL pomocí PHP

  4. System.Data.OracleClient vyžaduje klientský software Oracle verze 8.1.7