Mysql
 sql >> база данни >  >> RDS >> Mysql

Как подзаявката NOT IN работи с NULL стойности?

Причината е, че според спецификацията на SQL, Foo IN(A,B,C) превежда се на ( Foo = A Or Foo = B Or Foo = C ) . По този начин, ако имаме Foo In(Null, 1, 2) получаваме Foo = Null Or Foo = 1 Or Foo = 2 . Тъй като Foo = Null винаги е UNKNOWN и се оценява на False за целите на филтрирането, Nulls във вашия IN израз няма да върне резултати.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ПОРЪЧАЙТЕ ПО цвят с шестнадесетичен код като критерий в MySQL

  2. Няма OQGraph в моя MariaDB?

  3. Извличане на координатите на типа MySQL точка

  4. Защо EF генерира подзаявка за обикновена заявка?

  5. Създайте функция с незадължителни аргументи в MySQL