Subquery vs INNER JOIN
Vaak kun je de resultaten van een gecorreleerde subquery ook krijgen met een INNER JOIN. Afhankelijk van je wensen kan een INNER JOIN efficiënter zijn, omdat die maar één keer door de data gaat, terwijl de gecorreleerde subquery voor elke rij in de buitenste query wordt uitgevoerd.
Je wilt de bevolking in 2017 weten van de grootste stad van elk land ter wereld. Die informatie kun je uit de Earthquakes-database halen, met de tabel Nations als buitenste query en de tabel Cities in de subquery.
Je maakt deze query eerst als gecorreleerde subquery en schrijft hem daarna om met een INNER JOIN.
Deze oefening maakt deel uit van de cursus
De queryprestaties verbeteren in SQL Server
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
SELECT
n.CountryName,
(SELECT MAX(c.___) -- Add 2017 population column
FROM Cities AS c
-- Outer query country code column
WHERE c.CountryCode = n.___) AS BiggestCity
FROM ___ AS n; -- Outer query table