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:
- Was? (welche Felder werden ausgewählt)
- Woher? (aus welcher/n Tabelle/n)
- Unter welcher/n Bedingung/en? (welche Feldwerte)
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.