# 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](https://www.ionos.com/de-ch/digitalguide/server/konfiguration/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:

<table>
  <thead>
    <tr>
      <th>SQL `OR`</th>
      <th>SQL `AND`</th>
      <th>SQL `NOT`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Filtert Datensätze, die mindestens eine der Bedingungen erfüllen</td>
      <td>Beachtet nur Daten, die alle Bedingungen erfüllen</td>
      <td>Ignoriert Informationen, die eine definierte Bedingung nicht erfüllen</td>
    </tr>
    <tr>
      <td>Erweitert den Suchumfang auf mehrere, verschiedene Informationen</td>
      <td>Verengt die Suche auf eine Kombination aus zutreffenden Bedingungen</td>
      <td>Ignoriert durch Ausschlusskriterien nicht relevante Informationen</td>
    </tr>
  </tbody>
</table>

Tipp Auch ohne Vorkenntnisse lässt sich der Einstieg in die weitverbreitete Datenbank- und Programmiersprache [SQL](https://www.ionos.com/de-ch/digitalguide/server/knowhow/was-ist-sql/) schnell bewältigen. Die wichtigsten Grundlagen vermittelt Ihnen unsere [SQL-Einführung mit Beispielen](https://www.ionos.com/de-ch/digitalguide/server/konfiguration/sql-einfuehrung-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:

```sql
SELECT  *
FROM  Tabelle
WHERE  Suchbedingung1  OR  Suchbedingung2  OR …
```

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.

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

### 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.

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

## 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

## 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:

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

### 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:

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

### 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:

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

## 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.


This is a markdown version of: [https://www.ionos.com/de-ch/digitalguide/server/konfiguration/sql-or/](https://www.ionos.com/de-ch/digitalguide/server/konfiguration/sql-or/) for AI/LLM consumption.