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
WHERENOT condition;Bereitgestellt von
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.
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 NOTIN(10,20,30);Bereitgestellt von
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
WHERENOTEXISTS(SELECT1FROM orders o
WHERE o.customer_id = c.customer_id
);Bereitgestellt von
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 NOTBETWEEN'2023-01-01'AND'2023-12-31';Bereitgestellt von
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 Operatoren AND und OR.
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.
Das Schlüsselwort
NOTwird 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
NOTwird verwendet, wenn du bestimmte Daten ausschließen oder die Logik einer Bedingung ändern willst. Er wird oft in Verbindung mit anderen Operatoren wieIN,BETWEENundEXISTSverwendet.In dieser Syntax kehrt
NOT conditiondie Logik der angegebenen Bedingung um und wirkt sich auf die Zeilen aus, die von der Abfrage zurückgegeben werden.Beispiele
1. Grundlegende NICHT-Bedingung
Diese Abfrage findet alle Produkte mit einem Preis von 100 oder weniger und negiert die Bedingung
price > 100.2. NOT mit IN verwenden
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
Hier sucht die Abfrage nach Kunden, die keine Bestellungen aufgegeben haben, und verwendet
NOT EXISTS, um diejenigen auszuschließen, deren Einträge in der Tabelleordersübereinstimmen.4. NOT mit BETWEEN verwenden
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
NOTkann Abfragen weniger intuitiv und schwerer lesbar machen; überlege, ob die Logik vereinfacht werden kann.NOTmit komplexen Bedingungen können Klammern die beabsichtigte Logik verdeutlichen, insbesondere in Kombination mit den OperatorenANDundOR.