Grundkurs SQL

1.7  Einschränkung der Abfrage

SELECT mit Bedingung – WHERE

Da eine Abfrage, die den gesamten Tabelleninhalt ausgibt – wie wir gesehen haben – in den wenigsten Fällen Sinn macht, wollen wir jetzt noch lernen, wie man nach bestimmten Eigenschaften erfragt.

In der Praxis möchte man so gut wie nie eine gesamte Tabelle oder alle Einträge zu bestimmten Spalten ausgeben. Eine Abfrage wird erst dann sinnvoll, wenn damit bestimmte Informationen gewonnen werden können. Es werden einschränkende Bedingungen angegeben.

Eine Selektion ist eigentlich eine Auswahl von Zeilen in der Tabelle. Mit dem Schlüsselwort WHERE werden die Datenobjekte nach ihren Eigenschaften (Wert in einer Spalte) ausgewählt. Es wird also die Ergebnisliste durch die WHERE-Anweisung gefiltert.
Für jede Zeile der Tabelle wird ausgewertet, ob die Bedingung erfüllt ist. Bei positivem Ergebnis wird die Zeile der Auswahlmenge hinzugefügt, andernfalls ignoriert.

Während die bisher behandelten SELECT- und FROM-Anweisungen in jedem SELECT-Befehl vorkommen müssen, sind die WHERE und die folgenden Anweisungen wahlfrei.
Wegen seiner wichtigen Bedeutung zur Einschränkung (Restriktion) einer Tabelle auf bestimmte Zeilen kommt die WHERE-Anweisung in der Praxis trotzdem in fast allen SELECT-Befehlen vor. Die Struktur einer Abfrage mit Bedingung lautet in Worten:

Die Struktur einer Abfrage mit Bedingung ist hier in der Anweisungsbox dargestellt:

SELECT Feldliste
FROM   Tabelle
WHERE  Bedingung(en)

Der prinzipielle Aufbau von Bedingungen lautet: Spalte  Operator  Wert

Auf mögliche Operatoren gehen wir in den nächsten Abschnitten genauer ein.