IniziaInizia gratis

Sub-query vs INNER JOIN

Spesso i risultati di una subquery correlata possono essere replicati usando un INNER JOIN. A seconda delle esigenze, usare un INNER JOIN può essere più efficiente perché passa una sola volta sui dati, mentre la subquery correlata deve essere eseguita per ogni riga della query esterna.

Vuoi trovare la popolazione 2017 della città più grande per ogni paese del mondo. Puoi ottenere queste informazioni dal database Earthquakes, con la tabella Nations come query esterna e la tabella Cities nella subquery.

Per prima cosa creerai questa query come subquery correlata, poi la riscriverai usando un INNER JOIN.

Questo esercizio fa parte del corso

Migliorare le prestazioni delle query in SQL Server

Visualizza il corso

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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
Modifica ed esegui il codice