SMALL
안녕하세요, 코린이의 코딩 학습기 채니 입니다.
개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.
SUB-QUERY
- main 쿼리에 속한 쿼리 (main 쿼리와 종속 관계)
- 존재하지 않는 조건 (직접적으로 처리 불가)에 근거해서 검색할 때 유용
- main 쿼리 실행 중에 sub 쿼리를 만나면, 우선 sub 쿼리 실행 후 그 결과를 main 쿼리에 반환
조건
① 반드시 소괄호 안에 위치
② order by 문법 사용 불가
③ 연산자 오른쪽에 작성할 것
노옹철 사원의 관리자 이름을 조회
[조인 버전]
select
e.emp_name 사원명,
m.emp_name 관리자명
from
employee e left join employee m
on e.manager_id = m.emp_id
where
e.emp_name = '노옹철';
[서브쿼리 버전]
select
e.emp_name
from
employee e
where
e.emp_id = (
select
m.manager_id
from
employee m
where
m.emp_name = '노옹철'
);
전 사원의 평균 급여보다 많은 급여를 받는 사원 조회 (이름, 급여)
select
emp_name,
salary
from
employee
where
salary > (
select
trunc(avg(salary))
from
employee
);
유형
결과 값에 따른 유형
① 단일행 단일컬럼 서브쿼리 (1행 1열)
② 다중행 단일컬럼 서브쿼리 (n행 1열)
③ 단일행 다중컬럼 서브쿼리 (1행 n열)
④ 다중행 다중컬럼 서브쿼리 (n행 m열)
메인쿼리 관계에 따른 구분
① 일반 서브쿼리
: 서브쿼리 결과 값 → 메인쿼리 통보
② 상호연관 서브쿼리
: 메인쿼리 결과 값을 가지고 서브쿼리 처리 → 메인쿼리 통보
위치에 따른 구분
① 스칼라서브쿼리
② inline-view
LIST
'DataBase > Oracle' 카테고리의 다른 글
SUB-QUERY) 다중행 단일컬럼 서브쿼리 (any/some, all) (0) | 2022.04.21 |
---|---|
SUB-QUERY) 단일행 단일컬럼 서브쿼리 (0) | 2022.04.21 |
SET OPERATOR) SET OPERATOR 조건, 집합 연산자 종류 (union, union all, intersect, minus) (0) | 2022.04.19 |
JOIN/NON-EQUI-JOIN) NON-EQUI-JOIN (0) | 2022.04.19 |
JOIN/EQUI-JOIN) MULTIPLE JOIN (0) | 2022.04.19 |