prev up next

Aufbau einer SQL-Query zum Anfragen

Eine SQL-Query zum Abfragen von Relationen hat den folgenden generischen Aufbau:

SELECT Spalten-1
FROM Tabellen
WHERE Bedingung-1
GROUP BY Spalten-2
HAVING Bedingung-2
ORDER BY Spalten-3

Nur die Klauseln SELECT und FROM sind erforderlich, der Rest ist optional.

Es bedeuten ...

Spalten-1 Bezeichnungen der Spalten, die ausgegeben werden
Tabellen Bezeichnungen der verwendeten Tabellen
Bedingung-1 Auswahlbedingung für die auszugebenden Zeilen; verwendet werden
  AND OR NOT = > < != <= >= IS NULL BETWEEN IN LIKE
Spalten-2 Bezeichnungen der Spalten, die eine Gruppe definieren.
  Eine Gruppe bzgl. Spalte x sind diejenigen Zeilen, die bzgl. x
  identische Werte haben.
Bedingung-2 Bedingung zur Auswahl einer Gruppe
Spalten-3 Ordnungsreihenfolge für <Spalten-1>

Vor <Spalten-1> kann das Schlüsselwort DISTINCT stehen, welches identische Ausgabezeilen unterdrückt.

Sogenannte Aggregate Functions fassen die Werte einer Spalte oder Gruppe zusammen.

Es liefert ...

COUNT (*) Anzahl der Zeilen
COUNT (DISTINCT x) Anzahl der verschiedenen Werte in Spalte x
SUM (x) Summe der Werte in Spalte x
SUM (DISTINCT x) Summe der verschiedenen Werte in Spalte x
AVG (x) Durchschnitt der Werte in Spalte x
AVG (DISTINCT x) Durchschnitt der verschiedenen Werte in Spalte x
MAX (x) Maximum der Werte in Spalte x
MIN (x) Minimum der Werte in Spalte x

jeweils bezogen auf solche Zeilen, welche die WHERE-Bedingung erfüllen. Null-Einträge werden bei AVG, MIN, MAX und SUM ignoriert.

Spalten der Ergebnisrelation können umbenannt werden mit Hilfe der AS-Klausel.


prev up next