시작하기무료로 시작하기

서브쿼리 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
코드 편집 및 실행