Comece agoraComece grátis

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 exercicio faz parte do curso

Melhorando o Desempenho de Consultas no SQL Server

Ver curso

exercicio interativo prático

Tente este exercicio 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
Editar e Executar Código