НачатьНачать бесплатно

Подзапрос 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
Редактировать и запускать код