Zurück zu: SQL Tutorial
Der SQL AND Operator
Die WHERE
Klausel kann einen oder mehrere AND
Operatoren enthalten.
Der AND
Operator wird verwendet, um Datensätze basierend auf mehr als einer Bedingung zu filtern, z. B. wenn Sie alle Kunden aus Spanien zurückgeben möchten, deren Name mit dem Buchstaben „G“ beginnt:
Beispiel
Wählen Sie alle Kunden aus Spanien aus, deren Namen mit dem Buchstaben „G“ beginnen:
SELECT *
FROM Customers
WHERE Country = 'Spain' AND CustomerName LIKE 'G%';
Syntax
SELECT column1, column2, ...
FROM table_name
WHERE condition1 AND condition2 AND condition3 ...;
AND vs OR
Der
AND
-Operator zeigt einen Datensatz an, wenn alle Bedingungen WAHR sind.Der
OR
-Operator zeigt einen Datensatz an, wenn eine der Bedingungen WAHR ist.
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 |
Alle Bedingungen müssen erfüllt sein
Die folgende SQL-Anweisung wählt alle Felder von Customers
aus, bei denen das Land
„Deutschland“ UND die Stadt
„Berlin“ ist UND die Postleitzahl
höher als 12000 ist:
Beispiel
SELECT * FROM Customers
WHERE Country = 'Germany'
AND City = 'Berlin'
AND PostalCode > 12000;
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
Select all Spanish customers that starts with either „G“ or „R“:
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%';