Подзапрос vs INNER JOIN
Зачастую результаты коррелированного подзапроса можно получить с помощью INNER JOIN. В зависимости от задачи INNER JOIN может оказаться эффективнее: он выполняет только один проход по данным, тогда как коррелированный подзапрос выполняется для каждой строки внешнего запроса.
Вам нужно узнать население крупнейшего города каждой страны мира по данным за 2017 год. Эту информацию можно получить из базы данных Earthquakes: таблица Nations будет использоваться во внешнем запросе, а таблица Cities — в подзапросе.
Сначала вы создадите этот запрос как коррелированный подзапрос, а затем перепишете его с использованием INNER JOIN.
Это упражнение является частью курса
Повышение производительности запросов в SQL Server
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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