Aan de slagGa gratis aan de slag

Verder bouwen op subquery’s in FROM

In de vorige oefening ontdekte je dat Engeland, Nederland, Duitsland en Spanje de enige landen waren met wedstrijden in de database waarin in totaal 10 of meer doelpunten zijn gescoord. Laten we meer details over die wedstrijden opzoeken: wanneer ze zijn gespeeld, in welke seizoenen, en hoeveel doelpunten thuis versus uit zijn gemaakt.

Je ziet in deze oefening dat de tabelalias is weggelaten voor elke kolom die in de hoofdquery wordt geselecteerd. Dat komt omdat de hoofdquery gegevens haalt uit de subquery, die wordt behandeld als één enkele tabel.

Deze oefening maakt deel uit van de cursus

Gegevens manipuleren in SQL

Cursus bekijken

Oefeninstructies

  • Maak de subquery in de FROM-clausule af. Selecteer de landen-name uit de tabel country, samen met de kolommen date, home_goal, away_goal en total_goals uit de tabel match.
  • Maak in de subquery een kolom die thuis- en uitdoelpunten optelt, genaamd total_goals. Deze wordt gebruikt om de hoofdquery te filteren.
  • Selecteer in de hoofdquery country, date, home_goal en away_goal.
  • Filter de hoofdquery op wedstrijden met 10 of meer totale doelpunten.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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 ___ ___;
Code bewerken en uitvoeren