Aan de slag met gecorreleerde subqueries
Gecorreleerde subqueries zijn subqueries die verwijzen naar één of meer kolommen in de hoofdquery. Ze zijn afhankelijk van informatie uit de hoofdquery om te kunnen draaien en kunnen dus niet zelfstandig worden uitgevoerd.
Gecorreleerde subqueries worden in SQL één keer per opgehaalde rij geëvalueerd—een proces dat veel meer rekenkracht en tijd kost dan een eenvoudige subquery.
In deze oefening ga je werken met gecorreleerde subqueries om wedstrijden te vinden met scores die extreme uitschieters zijn per land—meer dan 3 keer de gemiddelde score!
Deze oefening maakt deel uit van de cursus
Gegevens manipuleren in SQL
Oefeninstructies
- Begin de subquery in
WHEREdoor het gemiddelde (mean) van de thuis- en uitdoelpunten te nemen. - Maak de kolomverwijzingen in de subquery af, zodat
country_idovereenkomt in de tabellenmainensub.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
SELECT
main.country_id,
main.date,
main.home_goal,
main.away_goal
FROM match AS main
WHERE
-- Filter the main query by the subquery
(home_goal + away_goal) >
(SELECT AVG((___ + sub.away_goal) * 3)
FROM match AS sub
-- Join the main query to the subquery with country_id in WHERE
WHERE main.___ = sub.___);