Aufbauen auf Unterabfragen in FROM
In der vorherigen Übung hast du festgestellt, dass England, die Niederlande, Deutschland und Spanien die einzigen Länder waren, die Spiele in der Datenbank hatten, in denen insgesamt 10 oder mehr Tore fielen. Lass uns mehr Details über diese Spiele herausfinden: wann sie gespielt wurden, in welchen Saisons und wie viele der Tore zu Hause oder auswärts fielen.
Du wirst feststellen, dass in dieser Übung der Tabellenalias für jede in der Hauptabfrage ausgewählte Spalte ausgeschlossen wird. Das liegt daran, dass die Hauptabfrage Daten aus der Unterabfrage extrahiert, die als eine einzige Tabelle behandelt wird.
Diese Übung ist Teil des Kurses
Datenmanipulation in SQL
Anleitung zur Übung
- Vervollständige die Unterabfrage innerhalb der
FROM
-Klausel. Wähle den Ländernamen aus der Ländertabelle sowie die Spalten mit Datum, Heimtoren, Auswärtstoren und Gesamttoren aus der Spieltabelle. - Erstelle eine Spalte namens
total_goals
in der Unterabfrage, die Heim- und Auswärtstore addiert. Diese wird zum Filtern der Hauptabfrage verwendet. - Wähle das Land, das Datum sowie die Heim- und Auswärtstore in der Hauptabfrage aus.
- Filtere die Hauptabfrage nach Spielen mit insgesamt 10 oder mehr Toren.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
SELECT
-- Select country, date, home, and away goals from the subquery
___,
date,
___,
away_goal
FROM
-- Select country name, date, home_goal, away_goal, and total goals in the subquery
(SELECT ___ AS country,
m.date,
___,
m.away_goal,
(___ + m.away_goal) AS total_goals
FROM match AS m
LEFT JOIN country AS c
ON m.country_id = c.id) AS subq
-- Filter by total goals scored in the main query
WHERE total_goals ___ ___;