-
SUBQUERYSQL/SUBQUERY 2020. 2. 5. 09:52
서브쿼리(SUBQUERY)란
- 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문
- 서브쿼리는 메인쿼리가 서브쿼리를 포함하는 종속적인 관계
- 서브쿼리는 메인쿼리의 컬럼을 모두 사용 가능 하지만, 메인쿼리는 서브쿼리의 컬럼을 사용할 수 없다.
- 서브쿼리는 서브쿼리 레벨과는 상관없이 항상 메인쿼리 레벨로 결과 집합이 생성- 조인은 집합간의 곱의 관계, 1:1 조인 -> 1레벨의 집합 생성, N:M 조인 -> N*M레벨의 집합 생성
서브쿼리 사용 시 주의점
- 서브쿼리를 괄호로 감싸서 사용
- 메인쿼리에 없는 테이블도 서브쿼리에서 사용할 수 있음
- 서브쿼리는 단일 행(=, >. <= 등등) 또는 복수 행(ALL, ANY, IN) 비교 연산자와 함께 사용 가능
-
서브쿼리가 사용이 가능한 곳
- SELECT
- FROM
- WHERE
- HAVING
- DRDER BY
- INSERT문의 VALUES
- UPDATE문의 SET
서브쿼리의 반환 값에 따른 서브쿼리 종류
- 단일 행 서브쿼리(Single-Row Subquery): 서브쿼리의 결과가 1행
- 다중 행 서브쿼리(Multiple-Row Subquery) : 서브쿼리의 결과가 여러행
- 다중 컬럼 서브쿼리(Multi-Column Subquery) : 서브쿼리의 결과가 여러 컬럼
상호연관 서브쿼리 ( Correlated Subquery)
- 메인 쿼리의 값을 서브 쿼리가 사용하고, 서브쿼리의 값을 받아서 메인 쿼리가 계산하는 구조
- 서브쿼리만 실행 불가능
'SQL > SUBQUERY' 카테고리의 다른 글
SUBQEURY 햄버거 (0) 2020.02.06 다중행 서브쿼리 (0) 2020.02.05 단일행 서브쿼리 (0) 2020.02.05