Databases Reference
In-Depth Information
tenz-Quantor der Prädikatenlogik, siehe z. B. [Sch04] für ei-
ne Einführung, erkennen. Typisch für die Prädikatenlogik
ist die Formulierung „Es gibt ein Gehege aus der Menge al-
ler Gehege, das folgende Eigenschaft hat ...“. Eine mathema-
tische Notation ist z. B.:
g
ȫ
Gehege: hat_Eigenschaft(g)
Das Ergebnis dieser Formel ist eine Menge von Gehegen, die
man mit dem Ergebnis einer Anfrage vergleichen kann. Aus
der Prädikatenlogik ist auch bekannt, dass man Aussagen
der Form „Für alle Elemente der Menge X gilt die Eigen-
schaft e.“ logisch äquivalent umformen kann in die Aussage
„Es gibt kein Element der Menge X, das die Eigenschaft e
nicht hat“. In der mathematischen Notation kann dies wie
folgt aussehen, dabei steht
Zusammenhang
zwischen
EXISTS in SQL
und Prädikaten-
logik
≡
für „diese Aussagen sind lo-
gisch äquivalent“:
x
ȫ
X: e(x)
NOT(
x
ȫ
X: NOT(e(x)))
Der Ansatz, dass All-Quantoren durch Existenz-Quantoren
beschrieben werden können, wurde auch in der letzten SQL-
Anfrage genutzt. Wegen dieser Umformungsmöglichkeit ist
in fast allen Datenbank-Managementsystemen auch keine
Implementierung eines im SQL-Standard angegebenen
ALL
-
Operators vorhanden.
≡
9.4
Teilanfragen in der HAVING-Bedingung
Die
HAVING
-Bedingung ist eng verwandt mit der
WHERE
-Bedin-
gung. Mit der
HAVING
-Bedingung werden Gruppen für das
Ergebnis der Anfrage ausgewählt, mit der
WHERE
-Bedingung
einzelne Zeilen. Aus diesem Grund können die Überlegungen
zu Teilanfragen in der
WHERE
-Bedingung direkt auf die Teilan-
fragen in der
HAVING
-Bedingung übertragen werden. Zu be-
achten ist, dass ein Vergleich mit Eigenschaften der Gruppen
stattfindet und als einziger wichtiger Unterschied, dass kein
Bezug zu Tabellen der äußeren Anfrage möglich ist. Eine weite-
re Randbedingung ergibt sich aus den unterschiedlichen SQL-
Implementierungen in den Datenbank-Managementsystemen,
die nicht alle theoretischen Möglichkeiten der
HAVING
-Bedin-
gung unterstützen. Teilweise sind überhaupt keine Teilanfra-
gen in der
HAVING
-Bedingung erlaubt.
Mit der folgenden Anfrage sollen die Gehege gesucht werden,
deren Tiere zusammen auch im kleinsten Gehege leben könn-
209