Kurzbeschreibung des SELECT-Befehls von SQL

Werbung
U NIVERSITÄT B ERN
I NFORMATIK
VORLESUNG
EI
T YP
H
B LATT
4 (1/1)
AUSGABE
HS 08
Kurzbeschreibung des SELECT-Befehls von SQL
Der SELECT-Befehl ist der wichtigste SQL-Befehl. Er dient zur Abfrage von Daten aus
einer Datenbank.
Die SELECT-Abfrage ist (vereinfacht) wie folgt definiert:
SELECT * | <Attributliste>
FROM <Tabellenliste>
[ WHERE <Ausdrucksliste> ]
In der <Attributliste> werden die Namen der gewünschten Kolonnen der in der <Tabellenliste> angegebenen Tabellen aufgeführt. Wird anstelle der <Attributliste> der Stern
(*) angegeben, so werden alle Spalten der in der <Tabellenliste> verzeichneten Tabellen
zurückgegeben (keine Auswahl von Spalten).
In der <Tabellenliste> werden die Tabellennamen angegeben, auf die sich der SELECTBefehl bezieht. Mehr als ein Tabellenname erzeugt aus diesen Tabellen einen sogenannten
Verbund (engl.: join).
Der (optionalen) WHERE-Komponente folgt eine <Ausdrucksliste>, die die Suchbedingung
des SELECT-Befehls darstellt. Die Auswertung der Suchbedingung ergibt entweder den
Wert ’wahr’ oder ’falsch’. Dadurch wird entschieden, ob eine Zeile in das Ergebnis des
SELECT-Befehls aufgenommen wird oder nicht. Eine Suchbedingung kann aus mehreren
Teilbedingungen bestehen, die über logische Operatoren (AND / OR / NOT) miteinander
verknüpft sind. Nebst der herkömmlichen Vergleichsoperatoren werden u. a. die folgenden
Prädikate unterstützt.
- BETWEEN
- IN
- EXISTS
Wert innerhalb eines Intervalls.
Test ob ein Ausdruck in einer angegebenen Ausdrucksliste vorhanden ist
Test ob mindestens eine Ergebniszeile vorliegt
Falls ein Spaltenname nicht eindeutig ist, wird der Tabellenname, durch ein Punkt getrennt,
dem Spaltennamen vorangestellt:
Beispiel: Kunde.KundenNr
In der WHERE-Komponente eines SELECT-Befehls ist es möglich, einen weiteren SELECTBefehl anzugeben. Dieser geschachtelte SELECT-Befehl wird Unterabfrage (engl: subquery)
genannt.
Beispiel: Ausgabe der Kunden, die eine Rechnung über 100 Fr. erhalten haben.
SELECT *
FROM Kunde
WHERE KundenNr IN (SELECT KundenNr
FROM Rechnung
WHERE Betrag > 100);
Herunterladen