메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Oracle (토론 | 기여)님의 2025년 4월 7일 (월) 17:22 판 (→‎서브쿼리)

서브쿼리

서브쿼리의 위치에 따른 명칭

서브쿼리 사용 위치에 따른 명칭
명칭 사용 위치
스칼라 서브쿼리 SELECT 절 에 있는 서브쿼리
select col1
     , (select user from dual) user -- 스칼라 쿼리 
     , ....
인라인 뷰 FROM절에 있는 서브쿼리
select ....
  from (select * 
          from tb_xxx) -- 인라인 뷰
서브쿼리 WHERE절에 있는 서브쿼리
select ....
  from tb_a
 where col1 in (select col1 
                  from tb_xxx) -- 서브쿼리


서브쿼리의 반환 값에 따른 서브쿼리 종류

- 단일 행 서브쿼리(Single-Row Subquery) : 서브쿼리의 결과가 1행
- 다중 행 서브쿼리(Multiple-Row Subquery) : 서브쿼리의 결과가 여러 행
- 다중 컬럼 서브쿼리(Multi-Column Subquery) : 서브쿼리의 결과가 여러 컬럼


스칼라 서브쿼리(Scala Subquery)

- SELECT문에서 사용하는 서브쿼리로 1행만 반환
- 입력값(메인쿼리와 조인하는 컬럼)의 Distinct한 종류가 적을수록 캐싱 효과가 좋음


상호연관 서브쿼리(Correlated Subquery)

- 메인쿼리의 값을 서브쿼리가 사용하고, 서브쿼리의 값을 받아서 메인쿼리가 계산하는 구조의 쿼리