ALL die Subqueries ÜBERALL
In Fußballligen werden Spiele in verschiedenen Runden gespielt. Gewinnende Teams rücken von einer Runde zur nächsten vor, bis sie die Finalrunde erreichen. In jeder Runde geht es um mehr als in der vorherigen. Die Tabelle match enthält Daten zu den verschiedenen Runden, in denen jedes Spiel stattgefunden hat.
In den nächsten 3 Übungen baust du eine Abfrage mit je einer Unterabfrage in den Klauseln SELECT, FROM und WHERE. Ändert sich die durchschnittliche Anzahl erzielter Tore, wenn die Einsätze von einer Runde zur nächsten steigen?
Die Abfrage wiederholt eine Unterabfrage, damit du jede Platzierung üben kannst. Jede Kopie liest die Tabelle match erneut ein. In deiner eigenen Arbeit würdest du den Gesamtdurchschnitt nur einmal berechnen, wie Kapitel 4 mit einer Fensterfunktion zeigt.
Diese Übung ist Teil des Kurses
<Kurs>Datenbearbeitung in SQL</Kurs>Übungsanweisungen
- Extrahiere die durchschnittliche Anzahl an Gesamttoren in einer
SELECT-Unterabfrage. - Berechne die durchschnittlichen Gesamttore für die jeweilige
stagein der Hauptabfrage. - Filtere sowohl die Unterabfragen als auch die Hauptabfrage so, dass nur Daten aus der Saison 2012/2013 enthalten sind.
GROUPdie Abfrage nach der Spaltem.stage.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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 ___;