Erste SchritteKostenlos loslegen

Unterabfragen in SELECT für Berechnungen

Unterabfragen in SELECT sind eine nützliche Methode, um berechnete Spalten in einer Abfrage zu erstellen. Eine Unterabfrage in SELECT kann als ein einzelner numerischer Wert behandelt werden, der in deinen Berechnungen verwendet wird. Wenn du Abfragen in SELECT schreibst, denke unbedingt daran, dass das Filtern der Hauptabfrage nicht die Unterabfrage filtert – und umgekehrt.

In der vorherigen Übung hast du eine Spalte erstellt, um die durchschnittlichen Gesamttore der einzelnen Ligen mit den durchschnittlichen Gesamttoren der Saison 2013/2014 zu vergleichen. In dieser Übung fügst du eine Spalte hinzu, die diese Werte direkt vergleicht, indem du den Gesamtdurchschnitt von der Unterabfrage abziehst.

Diese Übung ist Teil des Kurses

Datenmanipulation in SQL

Kurs anzeigen

Anleitung zur Übung

  • Wähle in der Hauptabfrage die durchschnittlich pro Spiel erzielten Tore für jede Liga aus.
  • Wähle in der Unterabfrage die durchschnittlich pro Spiel erzielten Tore in der Saison 2013/2014 insgesamt aus.
  • Ziehe die Unterabfrage von der für jede Liga berechneten durchschnittlichen Anzahl der Tore ab.
  • Filtere die Hauptabfrage so, dass nur Spiele aus der Saison 2013/2014 enthalten sind.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

SELECT
	-- Select the league name and average goals scored
	___ AS league,
	ROUND(___(___ + m.away_goal),2) AS avg_goals,
    -- Subtract the overall average from the league average
	ROUND(AVG(___ + m.away_goal) ___ 
		(SELECT ___(___ + away_goal)
		 FROM match 
         WHERE ___ = ___),2) AS diff
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Only include 2013/2014 results
WHERE ___ = ___
GROUP BY l.name;
Bearbeiten und Ausführen von Code