Underfråga vs INNER JOIN
Resultaten från en korrelerad underfråga kan ofta återskapas med ett INNER JOIN. Beroende på dina behov kan ett INNER JOIN vara mer effektivt, eftersom det bara gör ett genomgång av datan – medan den korrelerade underfrågan måste köras för varje rad i den yttre frågan.
Du vill ta reda på 2017 års befolkningstal för den största staden i varje land i världen. Den informationen hittar du i databasen Earthquakes med tabellen Nations som yttre fråga och tabellen Cities i underfrågan.
Du börjar med att skapa den här frågan som en korrelerad underfråga och skriver sedan om den med ett INNER JOIN.
Den här övningen är en del av kursen
Förbättra frågeprestanda i SQL Server
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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