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
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