SQL Schnellstart – And

In der letzten Lektion hast du gelernt, wie du mit dem Schlüsselwort WHERE und einer Bedingung Datensätze filtern kannst. Doch manchmal möchte man seine Daten nicht nur nach einer Bedingung, sondern gleich nach mehreren Filtern. Zusätzlich kann es vorkommen, dass nur Daten angezeigt werden sollen, bei deinen eine Bedingung nicht erfüllt wird. Für diesen Zweck kannst du die logischen Operatoren AND, OR und NOT verwenden.

AND-Operator: Definition

Der AND-Operator ist ein sogenannter "logischer Operator", welcher zwei Bedingungen miteinander verknüpft. Jede einzelne Bedingung (Operand) kann jeweils wahr oder falsch sein. Die komplette Bedingung ist bei einer AND-Verknüpfung dann wahr, wenn der erste Operand UND der zweite Operand wahr sind. Zur Vereinfachung hier ein Beispiel:

AND-Operator: Beispiel

Stell dir folgendes Szenario vor: Du arbeitest bei einer Airline als Datenbankadministrator. Die Flüge mit den Passagieren werden in einer Tabelle namens "Flug" gespeichert. Schau dir folgende Daten an:

Nun muss das Essen für den Flug "AE 3434" vorbereitet werden. Das Küchenpersonal möchte anschließend das Essen für die Nicht-Vegetarier vorbereiten. Dafür braucht das Küchenpersonal eine Liste mit den Passagieren, die keine Vegetarier sind. Folgendermaßen kann man alle Personen des Flugs AE 3434 auflisten, die keine Vegetarier sind:

SELECT *
FROM Flug
WHERE Flug = 'AE 3434' AND IstVegetarier = 'N';

Man erhält folgende Ausgabe:

Es ist aber auch möglich, mehr als zwei AND-Operatoren zu erstellen. Siehe folgendes Beispiel:

Mehrere AND-Operatoren:

SELECT * FROM Flug 
WHERE Flug = 'AE 3434' AND IstVegetarier = 'N' AND Klasse = 1;

Damit erhältst du nur noch folgende Ausgabe:

Code-Aufgabe zum AND-Operator

Alle vegetarischen Gäste von Flug "AE 3434"

Nun möchte das Küchenpersonal das Essen für alle vegetarischen Gäste vorbereiten. Erstelle mit der Hilfe vom SQL AND-Operator eine Liste mit allen Fluggästen des Fluges "AE 3434", welche Vegetarier sind.  Die Lösung findest du unten.

[lp_spoiler title="Lösung anzeigen"]

Lösung:

SELECT * 
FROM Flug
WHERE Flug = 'AE 3434' AND IstVegetarier = 'J'; 

Damit erhältst du folgendes Ergebnis:

[/lp_spoiler]

Fazit zum AND-Operator

Du kennst nun den logischen Operatoren AND. Mit dem AND-Operator kannst du zwei oder mehr Bedingungen verknüpfen. Damit die gesamte Bedingung wahr ist, müssen die mit AND verknüpften Operanden wahr sein. In der nächsten Lektion lernst du, was der OR-Operator ist.