더북(TheBook)

9.1.3 서브쿼리의 유형

서브쿼리는 메인쿼리의 어느 부분에 사용하는지(위치)에 따라 구분하기도 하고 메인쿼리와의 연관성에 따라 구분하기도 합니다.

메인쿼리에서 서브쿼리의 위치에 따라 다음 세 가지로 나눌 수 있습니다.

스칼라(scalar) 서브쿼리 SELECT 절에 있는 서브쿼리

파생(derived) 테이블 FROM 절에 있는 서브쿼리

WHERE 절의 서브쿼리

메인쿼리와 서브쿼리의 연관성에 따라 다음 두 가지로 나눌 수 있습니다.

연관성 있는 서브쿼리 메인쿼리와 서브쿼리를 조인하는 경우

연관성 없는 서브쿼리 메인쿼리와 서브쿼리를 조인하지 않는 경우

여기서 연관성이 있다는 것은 메인쿼리와 서브쿼리 사이에 조인이 발생한다는 뜻이고, 연관성이 없다는 것은 서브쿼리 단독으로 결과 집합을 반환한다는 뜻입니다. 후자는 서브쿼리 부분만 떼어내 실행해도 결과를 볼 수 있습니다.

두 가지 기준 중에서 전자인 서브쿼리의 위치에 따른 구분법을 주로 사용하므로 이 책에서도 첫 번째 구분법을 중심으로 살펴보겠습니다. 물론 여기서 소개한 용어들을 암기하거나 용어들에 얽매이지 않아도 됩니다. 우리의 목적은 SQL 문장을 올바로 작성하는 것이니까요.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.