Sub-query vs INNER JOIN
Muitas vezes, os resultados de uma subconsulta correlacionada podem ser reproduzidos usando um INNER JOIN. Dependendo do que você precisa, usar um INNER JOIN pode ser mais eficiente, pois faz apenas uma passagem pelos dados, enquanto a subconsulta correlacionada precisa ser executada para cada linha da consulta externa.
Você quer descobrir a população de 2017 da maior cidade de cada país do mundo. Você pode obter essas informações no banco de dados Earthquakes, usando a tabela Nations como consulta externa e a tabela Cities na subconsulta.
Primeiro, você vai criar essa consulta como uma subconsulta correlacionada e depois reescrevê-la usando um INNER JOIN.
Este exercício faz parte do curso
Melhorando o Desempenho de Consultas no SQL Server
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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