Aan de slagGa gratis aan de slag

Filteren met scalare subquery's

Subquery's zijn enorm krachtig voor complexe filters en transformaties. Je kunt met een subquery filteren op enkele (scalare) waarden op een manier die niet kan met WHERE-clausules of joins. Subquery's kun je ook gebruiken voor geavanceerdere bewerkingen op je gegevensset. In vrijwel elke praktijkomgeving met relationele databases kom je subquery's tegen.

In deze oefening maak je een lijst van wedstrijden waarbij het totaal aantal doelpunten (voor beide teams samen) meer is dan 3 keer het gemiddelde voor alle wedstrijden in de tabel matches_2013_2014, die alle wedstrijden uit het seizoen 2013/2014 bevat.

Deze oefening maakt deel uit van de cursus

Gegevens manipuleren in SQL

Cursus bekijken

Oefeninstructies

  • Bereken in een subquery drie keer het gemiddelde aantal thuis + uit doelpunten over alle wedstrijden.
  • Filter de hoofdquery op wedstrijden waar het totaal aantal doelpunten (thuis + uit doelpunten) hoger is dan de waarde uit de subquery.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

SELECT 
    date,
	home_goal,
	away_goal
FROM matches_2013_2014
-- Filter for matches where total goals is greater than 3x the average
WHERE (___ + ___) ___ 
       (SELECT ___ * AVG(___ + ___)
        FROM ___); 
Code bewerken en uitvoeren