Databases Reference
In-Depth Information
SUM(Art.MinFlaeche) Verbraucht
FROM Gehege, Tier, Art
WHERE Gehege.Gnr=Tier.Gnr
AND Tier.Gattung=Art.Gattung
GROUP BY Gehege.Gname
Das Ergebnis der Anfrage ist:
GNAME VERBRAUCHT
------ ----------
Feld 11
Wald 16
Weide 12
Wichtig ist, dass in der SELECT -Zeile, in der HAVING -
Bedingung und in der ORDER BY -Zeile nur Attribute direkt ge-
nannt werden dürfen, die in der GROUP BY -Zeile zur Gruppie-
rung genutzt werden. Weiterhin können in der SELECT -Zeile,
in der HAVING -Bedingung und in der ORDER BY -Zeile Aggre-
gatsfunktionen stehen, in denen die Werte pro Gruppe verar-
beitet werden. Dabei können an unterschiedlichen Stellen ver-
schiedene Aggregatsfunktionen genutzt werden. Mit der fol-
genden Anfrage wird bestimmt, welche Gattung im Zoo insge-
samt wie viel Fläche beansprucht, dabei müssen von der Gat-
tung aber mindestens drei Tiere im Zoo leben.
SELECT Tier.Gattung, SUM(Art.MinFlaeche) Bedarf
FROM Tier, Art
WHERE Tier.Gattung=Art.Gattung
GROUP BY Tier.Gattung
HAVING COUNT(*)>=3
ORDER BY SUM(Art.MinFlaeche)
Das Ergebnis der Anfrage ist:
GATTUNG BEDARF
------- ----------
Hase 8
Schaf 15
Randbedingun-
gen bei Gruppie-
rungen
8.4
Überblick über die Struktur von SQL-Anfragen
In diesem und dem vorherigen Kapitel wurden alle Sprach-
konstrukte eingeführt, die zur Erstellung von SQL-Anfragen
existieren. Im folgenden Kapitel wird „nur noch“ gezeigt, wie
man Anfrageergebnisse geschickt verknüpfen kann.
Dadurch, dass die Struktur von Anfragen vollständig bekannt
ist, ist es jetzt möglich, jede SQL-Anfrage von ihrem Aufbau her
zu verstehen. Im folgenden Kapitel wird dann gezeigt, dass
182
Search WWH ::




Custom Search