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, bei denen insgesamt 10 oder mehr Tore fielen. Lass uns mehr über diese Spiele herausfinden: wann sie gespielt wurden, in welchen Saisons und wie viele Heim- und Gasttore 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
Datenbearbeitung in SQL
Anleitung zur Übung
- Vervollständige die Unterabfrage innerhalb der
FROM-Klausel. Wählenamedes Landes aus der Tabellecountryaus, zusammen mit den Spaltendate,home_goal,away_goalundtotal_goalsaus der Tabellematch. - Erstelle eine Spalte namens
total_goalsin der Unterabfrage, die Heim- und Gasttore summiert. Mit dieser kannst du die Hauptabfrage filtern. - Wähle in der Hauptabfrage die Spalten
country,date,home_goalundaway_goal. - Filtere die Hauptabfrage nach Spielen mit insgesamt 10 oder mehr Toren.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
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 ___ ___;