SQL OR – Datenabfragen mit mehreren Bedingungen

Der SQL-Operator OR optimiert Ihre Suche in Datensätzen, indem Ergebnisse mindestens eine von mehreren definierten Bedingungen erfüllen. Sie können SQL OR zudem mit weiteren logischen Operatoren wie AND oder NOT kombinieren, um komplexe Abfragen zu verbessern und zu beschleunigen.

Was ist der SQL OR-Operator?

In SQL zählen SQL AND, SQL NOT und SQL OR zu den wichtigsten SQL-Operatoren bei der Suche nach relevanten Informationen. Während AND Daten findet, die mehrere Bedingungen erfüllen, und NOT Ausschlusskriterien definiert, erweitert SQL OR Ihre Ergebnismenge. Das bedeutet, dass Sie mehrere Suchbedingungen definieren, deren Ergebnisse mindestens ein Kriterium erfüllen müssen. Der Vorteil: Sie filtern relevante Ergebnisse, die nicht alle Kriterien erfüllen müssen.

Da Sie mit OR eine Suchbedingung formulieren, kommt der Operator meist mit SQL SELECT und SQL WHERE zum Einsatz, um relevante Datensätze, Spalten und Suchbedingungen zu konkretisieren. Für eine noch präzisere Abfrage lässt sich OR zudem mit anderen logischen Operatoren wie AND und NOT oder weiteren Vergleichsoperatoren wie = kombinieren.

SQL OR, AND und NOT im Überblick

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

SQL OR SQL AND SQL NOT
Filtert Datensätze, die mindestens eine der Bedingungen erfüllen Beachtet nur Daten, die alle Bedingungen erfüllen Ignoriert Informationen, die eine definierte Bedingung nicht erfüllen
Erweitert den Suchumfang auf mehrere, verschiedene Informationen Verengt die Suche auf eine Kombination aus zutreffenden Bedingungen Ignoriert durch Ausschlusskriterien nicht relevante Informationen
Tipp

Auch ohne Vorkenntnisse lässt sich der Einstieg in die weitverbreitete Datenbank- und Programmiersprache SQL schnell bewältigen. Die wichtigsten Grundlagen vermittelt Ihnen unsere SQL-Einführung mit Beispielen.

Die Syntax des OR-Operators erklärt

Die Anzahl an Suchbedingungen, die Sie für Datenabfragen definieren, kann zwei oder mehr Suchbedingungen umfassen. Die einfache OR-Syntax sieht wie folgt aus:

SELECT  *
FROM  Tabelle
WHERE  Suchbedingung1  OR  Suchbedingung2  OR …
sql

Diese Parameter kommen zum Einsatz:

  • SELECT: Wählt mit konkreten Primär- oder Fremdschlüsseln die betreffenden Spalten aus, in denen Sie Daten abrufen. Mit einem Asterisk * statt einer Spaltenbezeichnung durchsuchen Sie den gesamten Datensatz.
  • FROM: Definiert die Tabelle, um die es in Ihrer Suchabfrage geht.
  • WHERE: Definiert mit Operatoren und weiteren Parametern Suchbedingungen, mit denen Sie Datenabfragen eingrenzen.
  • OR: Kommt als logischer Operator in Verbindung mit SQL WHERE zum Einsatz, um die Suchkriterien zu bestimmen, die Ergebnisse erfüllen oder nicht erfüllen sollen.

Um Ihre Datenabfrage einzugrenzen, bietet sich eine optionale Kombination mit AND oder NOT an.

SQL OR in Kombination mit AND

In Kombination mit AND soll mindestens eins der OR-Suchkriterien zutreffen, während beide OR-Suchbedingungen die AND-Bedingung erfüllen müssen.

SELECT  *
FROM  Tabelle
WHERE  (Suchbedingung1  OR  Suchbedingung2)  AND  Suchbedingung 3
sql

SQL OR in Kombination mit SQL NOT

In Kombination mit NOT lassen sich Daten ausschließen, die mindestens eine der definierten Suchkriterien nicht erfüllen.

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

Für diese Anwendungen eignet sich der OR-Operator

Mit dem OR-Operator können Sie komplexe Datensätze gezielt nach mehreren Kriterien durchsuchen. Anwendungsfälle umfassen zum Beispiel:

  • Filtern von Kundinnen- und Kunden-, Bestell- oder Produktdaten nach kombinierten Suchkriterien wie Produktkategorien, Produkteigenschaften oder Bestell- und Reklamationsdatum
  • Suche nach Unternehmen aus bestimmten Branchen oder in bestimmten Regionen
  • Filtern von verdächtigen oder ungültigen Transaktionen durch mehrere Bedingungen
  • Suche nach Informationen zu Angestellten, die zu einer bestimmten Abteilung oder einem Team gehören
  • Abruf von Bewerberinnen und Bewerbern, die bestimmte Qualifikationen nicht bieten oder über keine Berufserfahrung verfügen
Tipp

Zu jedem sicheren, skalierbaren Datenbank-Management-System gehört eine Hosting-Lösung, die zu Ihren Anforderungen passt. Mit SQL-Server-Hosting von IONOS können Sie sich auf Datenschutz nach deutschem Standard verlassen!

vServer / VPS
Vollständig virtualisiert mit Root-Zugriff
  • Bis zu 1 Gbit/s Bandbreite & unbegrenzt Traffic
  • Schneller NVMe-SSD-Speicher
  • Kostenlose Plesk Web Host Edition

Praktische Beispiele für den SQL OR-Operator

Die Anwendungsfälle für den OR-Operator sind durch Kombinationen mit SQL WHERE, anderen SQL-Operatoren und weiteren SQL-Funktionen nahezu unbegrenzt. Um die Funktionsweise von OR zu veranschaulichen, finden Sie im Folgenden drei praktische Anwendungsbeispiele.

Suche nach Bestellungen aus bestimmten Kategorien

Sie suchen in einer Kundentabelle nur Personen, die Produkte aus der Kategorie „Elektronik“, aus der Kategorie „Beauty“ oder aus beiden Kategorien bestellt haben. Ergebnisse umfassen nur Informationen, für die mindestens eine der Bedingungen zutrifft. Um die Kategorien zu definieren, kommt der Vergleichsoperator = zum Einsatz.

Die Syntax sieht wie folgt aus:

SELECT  *
FROM  Kunden
WHERE  (Kategorie  =  'Elektronik'  OR  Kategorie =  'Beauty')
sql

Filtern von Bewerberinnen und Bewerbern

In einer Tabelle „Bewerberinnen_und_Bewerber“ möchten Sie nur Personen finden, die einen Abschluss in „Elektrotechnik“ oder in „Informatik“ mitbringen und in beiden Fällen über mindestens drei Jahre Berufserfahrung verfügen. Hierzu kombinieren Sie OR und AND. Die Suche sieht wie folgt aus:

SELECT  *
FROM  Bewerberinnen_und_Bewerber
WHERE  (Abschluss  =  'Elektrotechnik'  OR  Abschluss  =  'Informatik')
AND (Berufserfahrung  >=  3)
sql

Suche nach Daten pro Region

In der Tabelle „Kunden“ suchen Sie nach Kundinnen und Kunden aus Deutschland oder aus der Schweiz. Die Syntax sieht wie folgt aus:

SELECT  *
FROM  Kunden
WHERE  Land  =  'Deutschland'  OR   Land  =  'Schweiz'
sql

Alternativen zu SQL OR

Der OR-Operator bietet eine sehr einfache und schnelle Suche mit mehreren alternativen Suchkriterien. Ähnliche oder identische Funktionen bieten Ihnen SQL-Operatoren wie:

  • CASE: Mit der Anweisung SQL CASE lassen sich mit den Klauseln WHERE, THEN und ELSE ebenfalls Suchbedingungen prüfen und komplexe Analysen auf relevante Ergebnismengen eingrenzen. Die Auswertung erfolgt nach dem „IF-THEN-ELSE“-Verfahren von Bedingung zu Bedingung und von unten nach oben. Hierbei wird jedoch die Analyse gestoppt, wenn eine der Bedingungen zutrifft.
  • IN: Mit dem IN-Operator in Kombination mit der WHERE-Klausel untersuchen Sie Datensätze, indem Sie Werte oder Zeichenketten mittels IN definieren und in einer Tabelle oder Spalte nach Übereinstimmungen suchen.
  • EXISTS: Mit dem Operator SQL EXISTS können Sie eine Tabelle dahingehend überprüfen, ob mindestens ein ausgewählter Datensatz einer anderen Tabelle mit der ersten Tabelle übereinstimmt. Bei mindestens einer Übereinstimmung wird das Ergebnis Teil der Zieltabelle. Der Operator bietet sich jedoch nur an, wenn es eine Beziehung zwischen den beiden Tabellen gibt.
War dieser Artikel hilfreich?
Page top