Aan de slagBegin gratis

ALL the subqueries EVERYWHERE

In voetbalcompetities worden wedstrijden in verschillende stages gespeeld. Winnende teams gaan van de ene stage naar de volgende, totdat ze de finalestage bereiken. In elke stage staan er meer belangen op het spel dan in de vorige. De tabel match bevat gegevens over de verschillende stages waarin elke wedstrijd is gespeeld.

In de komende 3 oefeningen bouw je één query met een subquery in elk van de clausules SELECT, FROM en WHERE. Verandert het gemiddelde aantal gescoorde doelpunten naarmate de inzet hoger wordt van de ene stage naar de volgende?

De query herhaalt één subquery zodat je elke plaatsing kunt oefenen. Elke kopie leest de tabel match opnieuw, dus in je eigen werk zou je het algemene gemiddelde één keer berekenen, zoals in hoofdstuk 4 wordt getoond met een vensterfunctie.

Deze oefening maakt deel uit van de cursus

Gegevens manipuleren in SQL

Bekijk cursus

Oefeninstructies

  • Haal het gemiddelde aantal totale doelpunten op in een SELECT-subquery.
  • Bereken de gemiddelde totale doelpunten voor de specifieke stage in de hoofdquery.
  • Filter zowel de subquery's als de hoofdquery zodat alleen gegevens uit het seizoen 2012/2013 zijn opgenomen.
  • GROUP de query op de kolom m.stage.

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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