MySQL NOT Schlüsselwort
Das Schlüsselwort NOT
wird in MySQL verwendet, um eine Bedingung oder einen Ausdruck zu negieren. Sie wird häufig in logischen Operationen verwendet, um das Ergebnis einer Bedingung umzukehren, was sie für das Filtern von Daten in SQL-Abfragen nützlich macht.
Verwendung
Das Schlüsselwort NOT
wird verwendet, wenn du bestimmte Daten ausschließen oder die Logik einer Bedingung ändern willst. Er wird oft in Verbindung mit anderen Operatoren wie IN
, BETWEEN
und EXISTS
verwendet.
sql
SELECT column1, column2, ...
FROM table_name
WHERE NOT condition;
In dieser Syntax kehrt NOT condition
die Logik der angegebenen Bedingung um und wirkt sich auf die Zeilen aus, die von der Abfrage zurückgegeben werden.
Beispiele
1. Grundlegende NICHT-Bedingung
sql
SELECT *
FROM products
WHERE NOT price > 100;
Diese Abfrage findet alle Produkte mit einem Preis von 100 oder weniger und negiert die Bedingung price > 100
.
2. NOT mit IN verwenden
sql
SELECT first_name, last_name
FROM employees
WHERE department_id NOT IN (10, 20, 30);
In diesem Beispiel werden Mitarbeiter ausgewählt, die nicht in den Abteilungen 10, 20 oder 30 sind, und somit aus der Ergebnismenge herausgefiltert.
3. NOT mit EXISTS verwenden
sql
SELECT customer_id, customer_name
FROM customers c
WHERE NOT EXISTS (
SELECT 1
FROM orders o
WHERE o.customer_id = c.customer_id
);
Hier sucht die Abfrage nach Kunden, die keine Bestellungen aufgegeben haben, und verwendet NOT EXISTS
, um diejenigen auszuschließen, deren Einträge in der Tabelle orders
übereinstimmen.
4. NOT mit BETWEEN verwenden
sql
SELECT *
FROM orders
WHERE order_date NOT BETWEEN '2023-01-01' AND '2023-12-31';
Diese Abfrage sucht nach Bestellungen, die außerhalb des angegebenen Datumsbereichs liegen, d.h. Bestellungen innerhalb des Jahres 2023 werden ausgeschlossen.
Tipps und bewährte Praktiken
- Verwende NICHT sparsam. Die übermäßige Verwendung von
NOT
kann Abfragen weniger intuitiv und schwerer lesbar machen; überlege, ob die Logik vereinfacht werden kann. - Kombiniere mit Klammern. Bei der Verwendung von
NOT
mit komplexen Bedingungen können Klammern die beabsichtigte Logik verdeutlichen, insbesondere in Kombination mit den OperatorenAND
undOR
. - Prüfe die Leistung. Negationen können manchmal zu weniger effizienten Abfragen führen, insbesondere wenn sie auf indizierte Spalten angewendet werden.
- Nenne klare Bedingungen. Achte darauf, dass die Bedingungen, die negiert werden, genau sind, um einen unbeabsichtigten Datenausschluss zu vermeiden.