Datenbanken und SQL kennen den undefinierten Feldinhalt NULL. Oftmals wird seine Wirkung auf Abfragen unterschätzt, obwohl er nicht unerhebliche, und manchmal nicht sofort nachvollziehbare, Auswirkungen auf das Abfragergebnis haben kann. So kann ein einziger NULL-Wert dafür sorgen, dass ganze Listen leer bleiben, obwohl man mit einigen Tausend Ergebnissen gerechnet hatte. Welche Rolle NULL-Werte z.B. bei der
Abfrage mit IN, bzw. der Umkehrung NOT IN spielen, habe ich in meinem Blog-Eintrag „Ist NOT IN die Umkehrung von IN?” bereits erläutert.
Genau diese NULL-Werte und ihre Auswirkungen spielen mit eine Rolle für den Unterschied zwischen IN- und EXISTS-Abfragen.