Databases Reference
In-Depth Information
SELECT Tier.Gattung
FROM Tier
WHERE Tier.Gnr=3
Das Ergebnis der Anfrage ist das gleiche wie vorher, da in bei-
den Gehegen Hasen und Schafe vorkommen:
GATTUNG
-------
Hase
Schaf
Interessant ist, dass der Durchschnitt nicht direkt mit dem AND
in der WHERE -Bedingung verwandt ist. Betrachtet man die fol-
gende Anfrage
SELECT Tier.Gattung
FROM Tier
WHERE Tier.Gnr=2
AND Tier.Gnr=3
so enthält das Ergebnis keine Zeilen, da eine Zeile der Tabelle
Tier nicht gleichzeitig verschiedene Gehegenummern enthalten
kann. Beim Durchschnitt ist zu beachten, dass zwei unter-
schiedliche Zeilen betroffen sind. Dies führt zu dem bereits
vorgestellten Ansatz, bei dem zwei Einträge der Tabelle Tier,
also diese Tabelle doppelt in der FROM -Zeile berücksichtigt
werden muss.
SELECT DISTINCT T1.Gattung
FROM Tier T1, Tier T2
WHERE T1.Gnr=2
AND T2.Gnr=3
AND T1.Gattung=T2.Gattung
Man erhält das gleiche Ergebnis wie bei der SQL-Anfrage mit
INTERSECT .
Ein alternativer Ansatz mit einer Gruppierung ist nicht einfa-
cher, da hier zwei Gruppen verglichen werden müssen.
Beim Durchschnitt können auch mehrfache Elemente berück-
sichtigt werden. Im folgenden Beispiel wird berechnet, welche
Gattungen wie häufig gleichzeitig in beiden Gehegen vorkom-
men. Die Anfrage lautet:
SELECT Tier.Gattung
FROM Tier
WHERE Tier.Gnr=2
INTERSECT ALL
SELECT Tier.Gattung
FROM Tier
Alternative Be-
rechnung von
INTERSECT
Durchschnitt
mit
INTERSECT
ALL
192
Search WWH ::




Custom Search