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 |
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 …
sqlDiese 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
sqlSQL 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)
sqlFü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
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!
- 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')
sqlFiltern 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)
sqlSuche 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'
sqlAlternativen 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 KlauselnWHERE
,THEN
undELSE
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 demIN
-Operator in Kombination mit derWHERE
-Klausel untersuchen Sie Datensätze, indem Sie Werte oder Zeichenketten mittelsIN
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.