SELECT 문 내부에 포함된 서브쿼리(subquery)
를 말합니다. 일반적으로 주 쿼리에서 하나 이상의 테이블에서 데이터를 추출한 후, 해당 데이터를 사용하여 추가적인 쿼리 작업을 수행하는 데 사용 주로 복잡한 SELECT 문을 작성할 때 유용, 데이터의 부분 집합을 선택하거나 가공할 때 자주 사용.
1.
select e.ename 이름, e.job 담당업무
from emp e
join (
SELECT min(sal) 최저급여, e.sal 급여
FROM emp
) m on e.sal = m.최저급여;
2.
select ename 이름, job 담당업무, sal 급여
from emp
where sal = (SELECT min(sal) FROM emp);
distinct = 중복된 결과를 제외
select distinct job 담당업무, sal 급여
from emp
where sal = (SELECT min(round(avg(sal),0)) FROM emp group by job);
밑에 결과에서 비교값에 널값이 있었는데 비교가 되지 않아 널값을 제외 해준 후 처리됨
SELECT ENAME 이름
FROM EMP
WHERE EMPNO NOT IN(SELECT MGR FROM EMP WHERE MGR IS NOT NULL);