SQL NOT – Präzise Suche mit Ausschlusskriterien

NOT zählt in SQL zu den logischen Operatoren und ermöglicht ein effizientes, präzises Filtern von Suchergebnissen nach dem Ausschlussverfahren. Indem Sie mit dem NOT-Operator Daten unter bestimmten Bedingungen ausschließen, beschränken Sie Ihre Ergebnisse auf relevante Informationen.

Was ist der SQL NOT-Operator?

SQL NOT zählt zusammen mit SQL AND und SQL OR zu den logischen SQL-Operatoren, mit denen Sie Bedingungen und Kriterien für Datenabfragen formulieren. Während die Operatoren AND und OR Datensätze filtern, die alle oder mindestens eine angegebene Bedingung erfüllen, basiert der NOT-Operator auf dem Ausschlussverfahren. Sie schließen in Ihrem Suchergebnis alle Informationen in ausgewählten Datensätzen aus, die eine definierte Bedingung nicht erfüllen.

Besonders häufig kommt SQL NOT in Verbindung mit SQL SELECT, SQL WHERE und SQL HAVING zum Einsatz. Um die Suche so präzise wie möglich zu gestalten, können Sie den NOT-Operator auch mit den AND- und OR-Operatoren kombinieren. Auf diese Weise lassen sich irrelevante Ergebnisse filtern, die entweder alle definierten Bedingungen nicht erfüllen (AND) oder mindestens eine der genannten Bedingungen nicht erfüllen (OR).

Unterschied zwischen SQL NOT, AND und OR im Überblick

Die SQL-Operatoren NOT, AND und OR unterscheiden sich kurz zusammengefasst wie folgt:

SQL NOT SQL AND SQL OR
Gibt nur Datensätze aus, die eine definierte Bedingung nicht erfüllen Gibt Datensätze aus, die alle vordefinierten Suchkriterien erfüllen Liefert alle Informationen, die mindestens eine der definierten Bedingungen erfüllen
Negiert eine Bedingung, die für die Suche nicht relevant ist Kombiniert Bedingungen, um die Suche auf Informationen einzuengen, die mehreren Suchkriterien entsprechen Erweitert die Suchergebnisse auf Daten, die eine von mehreren Kriterien erfüllen
Tipp

Sie möchten sich intensiver mit SQL auseinandersetzen, verfügen bisher jedoch nur über geringe Kenntnisse? Dann hilft Ihnen unsere SQL-Einführung mit Beispielen beim schnellen Einstieg in die Datenbanksprache.

Die Syntax des NOT-Operators erklärt

Die einfache NOT-Syntax sieht wie folgt aus:

SELECT  *
FROM Tabelle
WHERE  NOT  (Suchbedingung)
sql

Diese Parameter kommen zum Einsatz:

  • SELECT: Wählt Spalten aus, die für Ihre Suche relevant sind. Mit einem Asterisk * durchsuchen Sie die gesamte ausgewählte Tabelle inklusive aller zugehörigen Spalten. Sie können auch einzelne Spalten mit dem jeweiligen Primär- oder Fremdschüssel festlegen.
  • FROM: Definiert die Tabelle, die Sie durchsuchen möchten.
  • WHERE: Definiert Bedingungen mithilfe von Operatoren wie SQL NOT, um die Datenabfrage einzugrenzen.
  • NOT: Legt in Kombination mit WHERE die Negation einer Bedingung fest, die Suchergebnisse nicht erfüllen sollen.

Möchten Sie Ihre Datenabfrage präzisieren, bietet sich eine Kombination mit AND oder OR an.

SQL NOT: Kombination mit AND

In Kombination mit AND sollen Ergebnisse, die beide Suchbedingungen erfüllen, nicht Teil der Ergebnismenge sein.

SELECT  *
FROM  Tabelle
WHERE  NOT  (Suchbedingung1  AND  Suchbedingung2)
sql

SQL NOT: Kombination mit OR

In Kombination mit OR können Sie Daten ausschließen, die mindestens eine der Suchbedingungen nicht erfüllen.

SELECT  *
FROM  Tabelle
WHERE  NOT  (Suchbedingung1  OR  Suchbedingung2)
sql

Für diese Anwendungsmöglichkeiten eignet sich der NOT-Operator

Die Einsatzmöglichkeiten für Abfragen und Suchen mit NOT sind nahezu unbegrenzt. Sie können zum Beispiel:

  • Daten von Kundinnen und Kunden, Bestellungen oder Produkten nach Region, Jahr, Kategorie, Preis oder Eigenschaften ausschließen
  • Datensätze ignorieren, die über ungültige oder fehlende Werte verfügen
  • Finanzdaten, die bestimmte Transaktionskriterien nicht erfüllen, filtern
  • Daten von Angestellten ausschließen, die nicht zu einer bestimmten Abteilung gehören
  • Bewerberinnen und Bewerber herausfiltern, die eine bestimmte Qualifikation nicht erfüllen
Tipp

Sie wünschen sich effizientes Datenmanagement mit einem sicheren, skalierbaren Datenbankmanagementsystem? Dann bietet Ihnen SQL-Server-Hosting von IONOS die passenden Server- und Hosting-Angebote für individuelle Anforderungen – mit Datensicherheit nach deutschen Standards.

vServer (VPS) von IONOS

Günstige und starke VPS für Webserver, Mailserver und eigene Anwendungen mit persönlichem Berater und 24/7 Support!

100 % SSD-Speicher
Bereit in 55 Sek.
SSL Zertifikat

Praktische Beispiele für den SQL NOT-Operator

Je nach Anwendungsfall kann die Suche mit dem NOT-Operator stark variieren – abhängig davon, wie Sie die Bedingung mit der WHERE-Klausel, dem NOT-Operator und weiteren optionalen Operatoren definieren. Zur Veranschaulichung bieten wir Ihnen drei praktische Anwendungsbeispiele.

Ausschließen von Angestellten nach Region

Sie möchten in einer Tabelle „Angestellte“ nur Informationen zu Angestellten anzeigen lassen, die nicht in Deutschland leben. Hierzu legen Sie mit der Spalte „Land“, der WHERE-Klausel, dem NOT-Operator und dem Vergleichsoperator = die Bedingung wie folgt fest:

SELECT  *
FROM  Kunden
WHERE  NOT  (Land  =  'Deutschland')
sql

Ähnlich gehen Sie beispielsweise vor, wenn Sie in einer Produktetabelle nur Produkte anzeigen möchten, die nicht mehr auf Lager sind:

SELECT  *
FROM  Produkte
WHERE  NOT  (Lagerbestand  >  0)
sql

Filtern von Kundengruppen

In einer Tabelle „Kunden“ suchen Sie nach einer bestimmten Kundengruppe, die vordefinierte Bedingungen nicht erfüllen. Sie sollen in diesem Beispiel nicht jünger als 30 sein und nicht in Berlin leben, daher kommen zusätzlich zu NOT auch Vergleichsoperatoren und der AND-Operator zum Einsatz.

SELECT  *
FROM  Kunden
WHERE  NOT  (Alter  <  30  AND  Stadt  =  'Berlin')
sql

Filtern von fehlenden Qualifikationen bei Bewerbung

Sie möchten in einer Tabelle „Bewerberinnen und Bewerber“ bestimmte Ergebnisse ausschließen, die spezifische Qualifikationen wie „Bachelor“ oder „Berufserfahrung“ nicht erfüllen. Die Suche sieht wie folgt aus:

SELECT  *
FROM  Bewerberinnen und Bewerber
WHERE  NOT  (Abschluss  =  ´Bachelor´  OR  Berufserfahrung  <  3)
sql

Alternativen zu SQL NOT

Eine Alternative mit identischer Funktion gibt es nicht, da der NOT-Operator sich durch die Negation von Suchkriterien auszeichnet. Da es sich bei SQL NOT um einen vielseitigen SQL-Operator handelt, lässt er sich jedoch für präzise Abfragen mit verschiedenen SQL-Befehlen kombinieren. Dazu zählen SQL JOIN oder SQL HAVING-Aggregatfunktionen wie SQL SUM oder AVG, Vergleichsoperatoren wie = oder > sowie Befehle und Operatoren wie SQL LIKE. Um das Ausschlussverfahren auf mehrere Bedingungen einzugrenzen oder zu erweitern, bieten sich zudem die logischen Operatoren AND und OR an.