서브쿼리(subQuery)란?
- MainQuery에 반대되는 개념으로 이름을 붙인 것
- 메인쿼리를 구성하는 소단위 쿼리
- select, insert, delete, update 절에서 모두 사용 가능
- 서브쿼리의 결과 집합을 메인 쿼리가 중간 결과값으로 사용
- 서브쿼리 자체는 일반 쿼리와는 다를바가 없다.
서브쿼리 예제
- 월급이 가장 적은 사원의 이름의
first_name, last_name을 연결해서 조회하기
SELECT FIRST_NAME || ' ' || LAST_NAME
FROM EMPLOYEES e
WHERE e.SALARY = (SELECT MIN(SALARY)
FROM EMPLOYEES e2)
;
- last_name이 'Kochhar'인 사람의 급여보다 많은 사원의 사원번호, 이름, 담당업무(job_id), 급여를 조회하기
SELECT EMPLOYEE_ID
, FIRST_NAME
, JOB_ID
, SALARY
FROM EMPLOYEES e
WHERE e.SALARY > (SELECT e.SALARY
FROM EMPLOYEES e
WHERE e.LAST_NAME = 'Kochhar')