Grundkurs SQL

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.