• 서브쿼리
다중 행 연산자 in, not in 두개 정도만 나온다
select * from employees e
where e.salary like ( select salary from employees where last_name like 'De Haan');
select * from employees e
where e.salary in(select min(salary) from employees group by department_id)
order by e.salary desc;
다중 열 서브쿼리
select * from employees e where (e.job_id, e.salary) in
(select job_id, min(salary) from employees group by job_id);
FROM 절 서브쿼리 : 인라인 뷰
select * from employees e, (select department_id from departments where department_name = 'IT') d
where e.department_id = d.department_id;
위에 경우는 조인으로도 가능하지만, 서브쿼리를 배우는 중이니 위의 쿼리문이 나왔다.
일반적으로는 조인이 성능이 더 좋지만, 서브쿼리만으로도 해결 가능한 문제가 있으니 잘 배워두자
단일 행, 다중 행, 다중 열, 인라인 뷰 서브쿼리 4가지에 대해서 배웠다.