Začněte nyníZačněte zdarma

Poddotaz vs INNER JOIN

Výsledky korelovaného poddotazu lze často nahradit pomocí INNER JOIN. Podle situace může být INNER JOIN efektivnější, protože data prochází jen jednou, zatímco korelovaný poddotaz se musí spustit pro každý řádek vnějšího dotazu.

Chceme zjistit populaci největšího města každé země světa v roce 2017. Tuto informaci získáš z databáze Earthquakes – tabulka Nations bude sloužit jako vnější dotaz a tabulka Cities jako poddotaz.

Nejprve tento dotaz sestavíš jako korelovaný poddotaz a pak ho přepíšeš s použitím INNER JOIN.

Toto cvičení je součástí kurzu

Improving Query Performance in SQL Server

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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
Upravit a spustit kód