구분
|
종류
|
설명
|
위치별
|
Nested Subquery
|
WHERE절에 위치하고, 가장 먼저 개발됨
|
Inline View
|
FROM절에 위치하고, SQL 내 절차성 효과
|
Scalar Subquery
|
SELECT절에 위치하고, 가장 최근에 개발됨
|
반환 데이터
형태별
|
단일행 서브쿼리
|
- 서브쿼리의 실행결과가 항상 1건 이하인 서브쿼리
- 단일행 비교연산자 (=, <, <=, >, >=, <>)와 함께 사용
|
다중행 서브쿼리
|
- 서브쿼리의 실행결과가 여러 건인 서브쿼리
- 다중행 비교연산자 (IN, ALL, ANY, SOME, EXISTS)와 함께 사용
|
다중칼럼 서브쿼리
|
- 서브쿼리의 실행결과로 여러 칼럼을 반환한다. 메인쿼리의 조건절에 여러 칼럼을 동시에 비교 가능
- 서브쿼리와 메인쿼리에서 비교하고자 하는 칼럼개수와 위치가 동일
|
동작방식별
|
비연관 서브쿼리
|
- 서브쿼리가 메인쿼리 칼럼을 가지고 있지 않는 형태의 서브쿼리
- 메인쿼리에 값(서브쿼리가 실행된 결과)을 제공하기 위한 목적으로 주로 사용
|
연관 서브쿼리
|
- 서브쿼리가 메인쿼리의 칼럼을 사용하는 형태의 서브쿼리
- 메인쿼리가 먼저 수행되어 읽혀진 데이터를 서브쿼리에서 조건이 맞는지 확인하고자 할 때 사용
|