3.10 Unterabfragen
Wird in einer Berechnung oder einer Bedingung ein Wert benötigt, der selbst das Ergebnis einer Abfrage ist, wird an dieser Stelle eine Unterabfrage eingefügt, die den entsprechenden Wert ermittelt.
Beispiel
Gewünscht wird eine Übersicht, die alle Daten aller vorhandenen Fahrzeuge zeigt, deren Anschaffungskosten über dem Durchschnitt liegen.
-
Zunächst formulieren wir eine SQL-Anweisung, die die durchschnittlichen Anschaffungskosten aller vorhandenen Fahrzeuge ermittelt.
Abfrageergebnis
AVG(Anschaffungskosten) 27007.647059 Abb. 3-116: Abfrageergebnis der SQL-Anweisung aus Abb. 3-115. -
Anschließend erstellen wir eine SQL-Anweisung, die alle Daten aller vorhandenen Fahrzeuge abfragt. In der
WHERE
-Klausel geben wir dabei die Bedingung vor, dass nur die Fahrzeuge berücksichtigt werden, deren Anschaffungskosten über dem Durchschnitt liegen. Als Durchschnitt geben wir jedoch keine Zahl an, sondern die SQL-Anweisung aus Abb. 3-115, die als Unterabfrage fungiert genau diesen Wert ermittelt.
Aufgabe 3-15: Unterabfragen
Datenbank Firmenwagen
Erstellen Sie jeweils eine SQL-Anweisung, die als Abfrageergebnis eine Tabelle mit den gewünschten Daten zurückgibt: