Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak podzapytanie NOT IN działa z wartościami NULL?

Powodem jest to, że zgodnie ze specyfikacją SQL Foo IN(A,B,C) tłumaczy na ( Foo = A Or Foo = B Or Foo = C ) . Tak więc, jeśli mamy Foo In(Null, 1, 2) otrzymujemy Foo = Null Or Foo = 1 Or Foo = 2 . Ponieważ Foo = Null jest zawsze UNKNOWN i oceniane jako False do celów filtrowania wartości null w wyrażeniu IN nie zwrócą żadnych wyników.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. jak zapisać zawartość ckeditor w bazie mysql

  2. Zmienne procedury składowanej MySQL z instrukcji SELECT

  3. dlaczego to lewe sprzężenie zwraca tylko jeden rekord?

  4. Wyświetlaj rekordy z bazy danych MySQL za pomocą JTable w Javie

  5. MySQL 5 lewy dołączyć do nieznanej kolumny