Oracle-Tipp: Auswirkung von NULL-Werten auf IN und EXISTS

Es treten jedoch Probleme auf, wenn man die Logik umkehrt und NOT IN und NOT EXISTS verwendet, was unterschiedliche Ergebnismengen zurückgibt. Die erste Abfrage gibt keine Zeilen zurück, die zweite die gewünschten Daten. Diese Abfragen sind nicht identisch!

Die NOT IN-Klausel ist im Prinzip äquivalent zum Vergleichen jedes Wertes mithilfe von „=“, was fehlschlägt, wenn ein Test FALSE oder NULL ist. Ein Beispiel:

All diese Abfragen geben keine Zeilen zurück. Bei der zweiten ist dies am deutlichsten, denn 1 != NULL ergibt NULL, so dass die gesamte WHERE-Bedingung für diese Zeile falsch ist. Die folgenden Abfragen hingegen würden funktionieren:

Die obige NOT IN-Abfrage lässt sich durchaus verwenden, solange man sicherstellt, dass nicht NULL in den Ergebnissen zurückgegeben wird. Die folgenden beiden Abfragen funktionieren ebenfalls, allerdings unter der Voraussetzung, dass empno nicht NULL ist, was in diesem Fall wohl zutreffen dürfte:

Wer die Unterschiede zwischen IN, EXISTS, NOT IN und NOT EXISTS verstanden hat, kann viele Stolperfallen vermeiden, die sich beim Auftreten von NULL-Werten in den Daten einer Unterabfrage ergeben.

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Bericht: Apple arbeitet an faltbarem iPad

Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…

3 Tagen ago

HPE baut Supercomputer am Leibniz-Rechenzentrum

Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.

3 Tagen ago

Bund meldet Fortschritte in der Netzversorgung

Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…

3 Tagen ago

Vorinstallierte Schadsoftware auf IoT-Geräten

Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…

6 Tagen ago

iOS und iPadOS 18.2 beseitigen 21 Sicherheitslücken

Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.

7 Tagen ago

Top-Malware im November: Infostealer Formbook bleibt Nummer 1

Sein Anteil an allen Infektionen steigt in Deutschland auf 18,5 Prozent. Das Botnet Androxgh0st integriert…

1 Woche ago