CommencezCommencez gratuitement

Sous-requête vs INNER JOIN

Souvent, les résultats d'une sous‑requête corrélée peuvent être reproduits avec un INNER JOIN. Selon vos besoins, utiliser un INNER JOIN peut être plus efficace, car il ne parcourt les données qu'une seule fois, tandis qu'une sous‑requête corrélée doit s'exécuter pour chaque ligne de la requête externe.

Vous voulez trouver la population 2017 de la plus grande ville pour chaque pays du monde. Vous pouvez obtenir cette information à partir de la base Earthquakes, avec la table Nations comme requête externe et la table Cities dans la sous‑requête.

Vous allez d'abord créer cette requête comme sous‑requête corrélée, puis la réécrire en utilisant un INNER JOIN.

Cette activité fait partie du cours

Améliorer la performance des requêtes dans SQL Server

Voir le cours

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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
Modifier et exécuter le code