Bygg vidare på underfrågor i FROM
I föregående övning upptäckte du att England, Nederländerna, Tyskland och Spanien var de enda länderna i databasen med matcher där totalt 10 eller fler mål gjordes. Nu ska vi ta reda på mer detaljer om dessa matcher – när de spelades, under vilka säsonger, och hur många av målen som var hemma- respektive bortamål.
Observera att i den här övningen utelämnas tabellaliaset för varje kolumn som väljs i huvudfrågan. Det beror på att huvudfrågan hämtar data från underfrågan, som behandlas som en enskild tabell.
Den här övningen är en del av kursen
Datahantering i SQL
Övningsinstruktioner
- Fyll i underfrågan inuti
FROM-satsen. Välj landetsnamefrån tabellencountry, tillsammans med kolumnernadate,home_goal,away_goalochtotal_goalsfrån tabellenmatch. - Skapa en kolumn i underfrågan som summerar hemma- och bortamål, och ge den namnet
total_goals. Den används för att filtrera huvudfrågan. - Välj
country,date,home_goalochaway_goali huvudfrågan. - Filtrera huvudfrågan så att endast matcher med 10 eller fler mål totalt visas.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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 ___ ___;