서브쿼리 vs INNER JOIN
종종 상관 서브쿼리의 결과는 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