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 3sqlSQL 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
- MSSQL-, MySQL- oder MariaDB-Hosting
- SQL-Server-Cloud, VPS oder Dedicated Server
- Top-Performance und Sicherheit für Ihre Datenbanken
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,THENundELSEebenfalls 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 mittelsINdefinieren 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.

