Der SQL-Operator OR optimiert Ihre Suche in Da­ten­sät­zen, indem Er­geb­nis­se min­des­tens eine von mehreren de­fi­nier­ten Be­din­gun­gen erfüllen. Sie können SQL OR zudem mit weiteren logischen Ope­ra­to­ren wie AND oder NOT kom­bi­nie­ren, um komplexe Abfragen zu ver­bes­sern und zu be­schleu­ni­gen.

Was ist der SQL OR-Operator?

In SQL zählen SQL AND, SQL NOT und SQL OR zu den wich­tigs­ten SQL-Ope­ra­to­ren bei der Suche nach re­le­van­ten In­for­ma­tio­nen. Während AND Daten findet, die mehrere Be­din­gun­gen erfüllen, und NOT Aus­schluss­kri­te­ri­en definiert, erweitert SQL OR Ihre Er­geb­nis­men­ge. Das bedeutet, dass Sie mehrere Such­be­din­gun­gen de­fi­nie­ren, deren Er­geb­nis­se min­des­tens ein Kriterium erfüllen müssen. Der Vorteil: Sie filtern relevante Er­geb­nis­se, die nicht alle Kriterien erfüllen müssen.

Da Sie mit OR eine Such­be­din­gung for­mu­lie­ren, kommt der Operator meist mit SQL SELECT und SQL WHERE zum Einsatz, um relevante Da­ten­sät­ze, Spalten und Such­be­din­gun­gen zu kon­kre­ti­sie­ren. Für eine noch präzisere Abfrage lässt sich OR zudem mit anderen logischen Ope­ra­to­ren wie AND und NOT oder weiteren Ver­gleichs­ope­ra­to­ren wie = kom­bi­nie­ren.

SQL OR, AND und NOT im Überblick

Die SQL-Ope­ra­to­ren OR, AND und NOT un­ter­schei­den sich wie folgt:

SQL OR SQL AND SQL NOT
Filtert Da­ten­sät­ze, die min­des­tens eine der Be­din­gun­gen erfüllen Beachtet nur Daten, die alle Be­din­gun­gen erfüllen Ignoriert In­for­ma­tio­nen, die eine de­fi­nier­te Bedingung nicht erfüllen
Erweitert den Such­um­fang auf mehrere, ver­schie­de­ne In­for­ma­tio­nen Verengt die Suche auf eine Kom­bi­na­ti­on aus zu­tref­fen­den Be­din­gun­gen Ignoriert durch Aus­schluss­kri­te­ri­en nicht relevante In­for­ma­tio­nen
Tipp

Auch ohne Vor­kennt­nis­se lässt sich der Einstieg in die weit­ver­brei­te­te Datenbank- und Pro­gram­mier­spra­che SQL schnell be­wäl­ti­gen. Die wich­tigs­ten Grund­la­gen ver­mit­telt Ihnen unsere SQL-Ein­füh­rung mit Bei­spie­len.

Die Syntax des OR-Operators erklärt

Die Anzahl an Such­be­din­gun­gen, die Sie für Da­ten­ab­fra­gen de­fi­nie­ren, kann zwei oder mehr Such­be­din­gun­gen 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 Fremd­schlüs­seln die be­tref­fen­den Spalten aus, in denen Sie Daten abrufen. Mit einem Asterisk * statt einer Spal­ten­be­zeich­nung durch­su­chen Sie den gesamten Datensatz.
  • FROM: Definiert die Tabelle, um die es in Ihrer Such­ab­fra­ge geht.
  • WHERE: Definiert mit Ope­ra­to­ren und weiteren Pa­ra­me­tern Such­be­din­gun­gen, mit denen Sie Da­ten­ab­fra­gen ein­gren­zen.
  • OR: Kommt als logischer Operator in Ver­bin­dung mit SQL WHERE zum Einsatz, um die Such­kri­te­ri­en zu bestimmen, die Er­geb­nis­se erfüllen oder nicht erfüllen sollen.

Um Ihre Da­ten­ab­fra­ge ein­zu­gren­zen, bietet sich eine optionale Kom­bi­na­ti­on mit AND oder NOT an.

SQL OR in Kom­bi­na­ti­on mit AND

In Kom­bi­na­ti­on mit AND soll min­des­tens eins der OR-Such­kri­te­ri­en zutreffen, während beide OR-Such­be­din­gun­gen die AND-Bedingung erfüllen müssen.

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

SQL OR in Kom­bi­na­ti­on mit SQL NOT

In Kom­bi­na­ti­on mit NOT lassen sich Daten aus­schlie­ßen, die min­des­tens eine der de­fi­nier­ten Such­kri­te­ri­en nicht erfüllen.

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

Für diese An­wen­dun­gen eignet sich der OR-Operator

Mit dem OR-Operator können Sie komplexe Da­ten­sät­ze gezielt nach mehreren Kriterien durch­su­chen. An­wen­dungs­fäl­le umfassen zum Beispiel:

  • Filtern von Kundinnen- und Kunden-, Bestell- oder Pro­dukt­da­ten nach kom­bi­nier­ten Such­kri­te­ri­en wie Pro­dukt­ka­te­go­rien, Pro­duk­tei­gen­schaf­ten oder Bestell- und Re­kla­ma­ti­ons­da­tum
  • Suche nach Un­ter­neh­men aus be­stimm­ten Branchen oder in be­stimm­ten Regionen
  • Filtern von ver­däch­ti­gen oder un­gül­ti­gen Trans­ak­tio­nen durch mehrere Be­din­gun­gen
  • Suche nach In­for­ma­tio­nen zu An­ge­stell­ten, die zu einer be­stimm­ten Abteilung oder einem Team gehören
  • Abruf von Be­wer­be­rin­nen und Bewerbern, die bestimmte Qua­li­fi­ka­tio­nen nicht bieten oder über keine Be­rufs­er­fah­rung verfügen
Ihre Datenbank in der Cloud
SQL-Server-Hosting nach Maß
  • MSSQL-, MySQL- oder MariaDB-Hosting
  • SQL-Server-Cloud, VPS oder Dedicated Server
  • Top-Per­for­mance und Si­cher­heit für Ihre Da­ten­ban­ken

Prak­ti­sche Beispiele für den SQL OR-Operator

Die An­wen­dungs­fäl­le für den OR-Operator sind durch Kom­bi­na­tio­nen mit SQL WHERE, anderen SQL-Ope­ra­to­ren und weiteren SQL-Funk­tio­nen nahezu un­be­grenzt. Um die Funk­ti­ons­wei­se von OR zu ver­an­schau­li­chen, finden Sie im Folgenden drei prak­ti­sche An­wen­dungs­bei­spie­le.

Suche nach Be­stel­lun­gen aus be­stimm­ten Ka­te­go­rien

Sie suchen in einer Kun­den­ta­bel­le nur Personen, die Produkte aus der Kategorie „Elek­tro­nik“, aus der Kategorie „Beauty“ oder aus beiden Ka­te­go­rien bestellt haben. Er­geb­nis­se umfassen nur In­for­ma­tio­nen, für die min­des­tens eine der Be­din­gun­gen zutrifft. Um die Ka­te­go­rien zu de­fi­nie­ren, kommt der Ver­gleichs­ope­ra­tor = zum Einsatz.

Die Syntax sieht wie folgt aus:

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

Filtern von Be­wer­be­rin­nen und Bewerbern

In einer Tabelle „Be­wer­be­rin­nen_und_Bewerber“ möchten Sie nur Personen finden, die einen Abschluss in „Elek­tro­tech­nik“ oder in „In­for­ma­tik“ mit­brin­gen und in beiden Fällen über min­des­tens drei Jahre Be­rufs­er­fah­rung verfügen. Hierzu kom­bi­nie­ren 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 Deutsch­land oder aus der Schweiz. Die Syntax sieht wie folgt aus:

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

Al­ter­na­ti­ven zu SQL OR

Der OR-Operator bietet eine sehr einfache und schnelle Suche mit mehreren al­ter­na­ti­ven Such­kri­te­ri­en. Ähnliche oder iden­ti­sche Funk­tio­nen bieten Ihnen SQL-Ope­ra­to­ren wie:

  • CASE: Mit der Anweisung SQL CASE lassen sich mit den Klauseln WHERE, THEN und ELSE ebenfalls Such­be­din­gun­gen prüfen und komplexe Analysen auf relevante Er­geb­nis­men­gen ein­gren­zen. Die Aus­wer­tung 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 Be­din­gun­gen zutrifft.
  • IN: Mit dem IN-Operator in Kom­bi­na­ti­on mit der WHERE-Klausel un­ter­su­chen Sie Da­ten­sät­ze, indem Sie Werte oder Zei­chen­ket­ten mittels IN de­fi­nie­ren und in einer Tabelle oder Spalte nach Über­ein­stim­mun­gen suchen.
  • EXISTS: Mit dem Operator SQL EXISTS können Sie eine Tabelle da­hin­ge­hend über­prü­fen, ob min­des­tens ein aus­ge­wähl­ter Datensatz einer anderen Tabelle mit der ersten Tabelle über­ein­stimmt. Bei min­des­tens einer Über­ein­stim­mung wird das Ergebnis Teil der Ziel­ta­bel­le. Der Operator bietet sich jedoch nur an, wenn es eine Beziehung zwischen den beiden Tabellen gibt.
Zum Hauptmenü