Databases Reference
In-Depth Information
werden alle Gattungen ausgegeben, die mindestens soviel Flä-
che verbrauchen wie der Durchschnitt aller Gattungen.
SELECT Art.Gattung
FROM Art
WHERE Art.MinFlaeche>=
(SELECT AVG(Art.MinFlaeche)
FROM Art)
Das Ergebnis der Anfrage ist:
GATTUNG
-------
Baer
Schaf
Wieder ist der Anfragensteller dafür verantwortlich, dass die
Teilanfrage ein passendes Ergebnis liefert. Dabei ist typischer-
weise genau ein Ergebnis sinnvoll. Falls kein Ergebnis vorliegt,
wird mit dem NULL-Wert verglichen. Dies ist selten sinnvoll
und kann zu ungewöhnlichen Ergebnissen führen. In dem fol-
genden Beispiel werden in der Teilanfrage alle Gattungen be-
stimmt, die genau eine MinFläche von 6 benötigen. In der um-
gebenden Anfrage werden alle Tiere ausgegeben, die zu dieser
Gattung gehören.
SELECT Tier.Tname
FROM Tier,Art
WHERE Tier.Gattung=Art.Gattung
AND Art.Gattung=(SELECT Art.Gattung
FROM Art
WHERE Art.MinFlaeche=6)
Das Ergebnis hat keine Ausgabezeilen, da bei „=NULL“ immer
der Wert undefiniert als Ergebnis herauskommt. Wird „ =6 “ in
der letzten Anfrage durch „ >=5 “ ersetzt, erhält man eine Feh-
lermeldung der folgenden Art:
Unterabfrage für eine Zeile liefert mehr als
eine Zeile
Neben den Vergleichen mit einzeiligen und einspaltigen Anfra-
geergebnissen gibt es auch die Möglichkeit, mit einer einspalti-
gen Liste von Werten zu vergleichen. Dazu wird in der Teilan-
frage eine einspaltige Tabelle berechnet und dann ein Vergleich
mit jedem Element dieser Spalte durchgeführt. Es gibt zwei Va-
rianten. In der ersten Variante soll der Vergleich mit allen Ele-
menten erfolgreich sein, erkennbar am Schlüsselwort ALL . In
der zweiten Variante soll der Vergleich mit mindestens einem
Beachtung der
Form des Ergeb-
nisses der Teil-
anfrage
Leere Ergebnisse
bei Teilanfragen
erlaubt
Vergleich mit
Ergebnislisten
von Teilanfragen
199
Search WWH ::




Custom Search