Zurück zu: SQL Tutorial
Der SQL OR Operator
Die WHERE
Klausel kann einen oder mehrere OR
Operatoren enthalten.
Der OR
Operator wird verwendet, um Datensätze basierend auf mehr als einer Bedingung zu filtern, z. B. wenn Sie alle Kunden aus Deutschland, aber auch die aus Spanien zurückgeben möchten:
Beispiel
Wählen Sie alle Kunden aus Deutschland oder Spanien aus:
SELECT *
FROM Customers
WHERE Country = 'Germany' OR Country = 'Spain';
Syntax
SELECT column1, column2, ...
FROM table_name
WHERE condition1 OR condition2 OR condition3 ...;
OR vs AND
Der
OR
Operator zeigt einen Datensatz an, wenn eine der Bedingungen WAHR ist.Der
AND
Operator zeigt einen Datensatz an, wenn alle Bedingungen WAHR sind.
Demo Datenbank
Nachfolgend sehen Sie eine Auswahl aus der in den Beispielen verwendeten Customers:
CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
---|---|---|---|---|---|---|
1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitución 2222 | México D.F. | 05021 | Mexico |
3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México D.F. | 05023 | Mexico |
4 | Around the Horn | Thomas Hardy | 120 Hanover Sq. | London | WA1 1DP | UK |
5 | Berglunds snabbköp | Christina Berglund | Berguvsvägen 8 | Luleå | S-958 22 | Sweden |
Mindestens eine Bedingung muss erfüllt sein
Die folgende SQL-Anweisung wählt alle Felder von Kunden aus, bei denen entweder „City
“ „Berlin“ ist, der CustomerName
mit dem Buchstaben „G“ beginnt oder Country
„Norwegen“ ist:
Beispiel
SELECT * FROM Customers
WHERE City = 'Berlin' OR CustomerName LIKE 'G%' OR Country = 'Norway';
Kombinieren von AND und OR
Sie können die Operatoren „AND
“ und „OR
“ kombinieren.
Die folgende SQL-Anweisung wählt alle Kunden aus Spanien aus, deren Name mit „G“ oder „R“ beginnt.
Stellen Sie sicher, dass Sie Klammern verwenden, um das richtige Ergebnis zu erhalten.
Beispiel
Wählen Sie alle spanischen Kunden aus, deren Namen entweder mit „G“ oder „R“ beginnen:
SELECT * FROM Customers
WHERE Country = 'Spain' AND (CustomerName LIKE 'G%' OR CustomerName LIKE 'R%');
Ohne Klammern gibt die Select-Anweisung alle Kunden aus Spanien zurück, deren Name mit „G“ beginnt, sowie alle Kunden, deren Name mit „R“ beginnt, unabhängig vom Länderwert:
Beispiel
Wählen Sie alle Kunden aus, die entweder:
aus Spanien kommen und mit „G“ beginnen oder
mit dem Buchstaben „R“ beginnen:
SELECT * FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%' OR CustomerName LIKE 'R%';