Hinzufügen einer Unterabfrage zur SELECT-Klausel
Unterabfragen in SELECT-Anweisungen erzeugen einen einzelnen Wert, der es dir ermöglicht, einen aggregierten Wert an einen Dataframe zu übertragen. Dies ist nützlich, um Berechnungen mit Daten in deiner Datenbank durchzuführen.
In der folgenden Übung erstellst du eine Abfrage, die die durchschnittliche Anzahl der Tore pro Spiel in den Ligen der einzelnen Länder berechnet.
Diese Übung ist Teil des Kurses
Datenbearbeitung in SQL
Anleitung zur Übung
- Wähle in der Unterabfrage die durchschnittliche Gesamtzahl der Tore aus, indem du
home_goalundaway_goalhinzufügst. - Filtere die Ergebnisse dann so, dass nur der Durchschnitt der Tore in der Saison
'2013/2014'berechnet wird. - Wähle in der Hauptabfrage die durchschnittlichen Gesamttore aus, indem du
home_goalundaway_goalhinzufügst. Dadurch werden die durchschnittlichen Tore für jede Liga berechnet. - Filtere dann die Ergebnisse in der Hauptabfrage genauso wie du die Unterabfrage gefiltert hast. Gruppiere die Abfrage mit
GROUP BYnach dem Liganamenname.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
SELECT
l.name AS league,
-- Round the average of the league's total goals
ROUND(___(___ + m.away_goal), 2) AS avg_goals,
-- Select and round the average total goals for the season
(SELECT ___(___(___ + away_goal), 2)
FROM match
___ ___ = ___) AS overall_avg
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Filter for the 2013/2014 season
WHERE ___ = ___
GROUP BY ___;