NOT
Grundlagen
Wozu dient NOT?
Der Operator NOT kehrt eine Bedingung um. Eine Zeile wird zurückgegeben, wenn die Bedingung nicht wahr ist. NOT wird oft mit anderen Operatoren wie LIKE, IN, BETWEEN oder NULL kombiniert.
Syntax
SELECT spalten FROM tabelle WHERE NOT bedingung;
Beispiel
Alle Kunden, die nicht aus Deutschland kommen:
SELECT Name, Land FROM Kunden WHERE NOT Land = 'DE';
| Name | Land |
|---|---|
| Dupont SARL | FR |
Das Gleiche erreichst du oft kürzer mit dem Ungleich-Operator: WHERE Land <> 'DE'.
NOT mit anderen Operatoren
NOT LIKE– Text entspricht nicht dem Muster:WHERE Name NOT LIKE 'M%'NOT IN– Wert ist in keiner der Optionen:WHERE Stadt NOT IN ('Berlin','Paris')NOT BETWEEN– Wert liegt außerhalb des Bereichs:WHERE Umsatz NOT BETWEEN 5000 AND 10000IS NOT NULL– Wert ist gesetzt (siehe NULL-Werte)
Mehrere Bedingungen verneinen
Mit Klammern kannst du eine ganze zusammengesetzte Bedingung umkehren:
SELECT Name FROM Kunden WHERE NOT (Land = 'DE' AND Umsatz > 10000);
Diese Abfrage gibt alle Kunden zurück, auf die nicht beides gleichzeitig zutrifft.
Stolperfalle
Vorsicht mit NOT und NULL: NOT (Spalte = NULL) funktioniert nicht wie erwartet, weil ein Vergleich mit NULL niemals wahr ergibt. Verwende für fehlende Werte immer IS NULL bzw. IS NOT NULL.