메인쿼리 안에, 하나의 쿼리가 더 존재하는 모양
- Subquery의 위치에 따라 명칭을 달리한다.
SELECT
절에 서브쿼리가 존재UPDATE의 SET
, ORDER BY
등SELECT 컬럼1,
( SELECT ~
FROM ~
WHERE ~
),
컬럼 3 , 컬럼 4
FROM 테이블 ;
FROM
절에 서브쿼리가 존재SELECT 컬럼1, 컬럼2, 컬럼3, ...
FROM 테이블1 example1, (
SELECT * ,
FROM ~
) example2 ;
WHERE
절, HAVING
절에 서브쿼리가 존재메인 쿼리와의 관계에 따른 분류
연관 서브쿼리
: 메인 쿼리의 컬럼이 포함된 서브쿼리비연관 서브쿼리
: 메인 쿼리의 컬럼이 포함되지 않은 서브쿼리
반환 데이터 형태에 따른 분류
단일 행 서브쿼리
: 서브쿼리가 1건 이하의 데이터를 반환
- 단일행 비교 연산자
=,<,>,<=,>=,<>
와 함께 사용
다중 행 서브쿼리
: 서브 쿼리가 2건 이상의 데이터를 반환
- 다중행 비교 연산자
IN
ALL
ANY
SOME
EXISTS
와 함께 사용다중 컬럼 서브쿼리
: 서브 쿼리가 여러 컬럼의 데이터를 반환