1.8 Verknüpfungen – AND/OR/NOT
So richtig interessant wird die WHERE
-Anweisung erst dann, wenn man mehrere
Filter-Bedingungen miteinander verbindet. Die Bedingung in der WHERE
-Anweisung
liefert einen Wert von Typ Ja/Nein, der je nach Datensatz wahr oder falsch (true oder false)
sein wird.
Zum Verknüpfen der Bedingungen werden die logischen Operatoren AND
(und),
OR
(oder) und NOT
(nicht) verwendet.
Die AND
-Verknüpfung
Bei einer AND
-Verknüpfung müssen alle Bedingungen erfüllt sein,
damit ein Datensatz in die Ergebnismenge aufgenommen wird.
[1]SELECT *
FROM tbl_mitarbeiter
WHERE (vorname = "Kurt") AND (name = "Krause")
In dieser Anweisung wird nach den Mitarbeitern namens Kurt Krause
gesucht.
Die Klammern sind nicht unbedingt notwendig, erhöhen aber gerade bei
langen Ausdrücken die Übersichtlichkeit.
Die OR
-Verknüpfung
Bei einer OR
-Verknüpfung muss mindestens eine der Bedingungen erfüllt
sein, damit ein Datensatz in die Ergebnismenge aufgenommen wird.
[3]SELECT *
FROM tbl_mitarbeiter
WHERE (Vorname = "Monika") OR (Vorname = "Kurt")
Mit dieser Anweisung werden alle Datensätze ermittelt, deren Spalte
Vorname die Werte Monika
oder Kurt
enthalten.
Es sind beliebige Kombinationen von Ausdrücken möglich, insbesondere
Verknüpfungen mit den Operatoren AND
und OR
.
Damit kann man beispielsweise das Ergebnis einer Abfrage von mehreren
Vergleichen bestimmen lassen. Die wichtigsten Verbindungswörter wie AND
und OR
kommen immer in der Form vor:
SELECT Feldliste FROM Tabelle WHERE Bedingung1 AND|OR Bedingung2
Die NOT
-Verknüpfung
NOT
tauscht den Wert einer Bedingung um. Eine erfüllte
Bedingung gilt als unerfüllt und umgekehrt.
[20]SELECT *
FROM tbl_mitarbeiter
WHERE NOT vorname = "Erna"
Die Abfrage gibt alle Mitarbeiter aus, außer der Mitarbeiterin mit dem Vornamen Erna
.