LoslegenKostenlos loslegen

Viele Unterabfragen

In Fußballligen werden Spiele in verschiedenen Runden („stages“) gespielt. Die siegreichen Mannschaften steigen von Runde zu Runde auf, bis sie es in die letzte Runde schaffen. In jeder Runde steht mehr auf dem Spiel als in der vorherigen. Die Tabelle match enthält Daten zu den verschiedenen Runden, in denen die jeweiligen Spiele stattfanden.

In dieser Lektion wirst du eine finale Abfrage über drei Übungen hinweg erstellen, die drei Unterabfragen enthält: eine in der SELECT-Klausel, eine in der FROM-Klausel und eine in der WHERE-Klausel. In der letzten Übung soll deine Abfrage Daten der durchschnittlich geschossenen Tore in den jeweiligen Spielrunden ermitteln. Verändert sich die durchschnittliche Anzahl der geschossenen Tore, wenn von Runde zu Runde mehr auf dem Spiel steht?

Diese Übung ist Teil des Kurses

Datenbearbeitung in SQL

Kurs anzeigen

Anleitung zur Übung

  • Rufe die durchschnittliche Anzahl der Tore insgesamt in einer SELECT-Unterabfrage ab.
  • Berechne die durchschnittliche Gesamtzahl der Tore für die bestimmte stage in der Hauptabfrage.
  • Filtere beide Unterabfragen und die Hauptabfrage so, dass nur Daten aus der Saison 2012/2013 enthalten sind.
  • Gruppiere die Abfrage mit GROUP nach der Spalte m.stage.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

SELECT 
	-- Select the stage and average goals for each stage
	m.stage,
    ROUND(___(___ + m.away_goal),2) AS avg_goals,
    -- Select the average overall goals for the 2012/2013 season
    ROUND((SELECT ___(___ + away_goal) 
           FROM match 
           WHERE season = ___),2) AS overall
FROM match AS m
-- Filter for the 2012/2013 season
WHERE ___ = ___
-- Group by stage
GROUP BY ___;
Code bearbeiten und ausführen