[DB공부] 7. subquery를 사용해보자 - 미완성
subquery
- 2개의 쿼리문을 한번에 작성할 수 있도록 한다.
- subquery는 main query 전에 실행됩니다. 서브쿼리의 결과는 메인쿼리에서 사용됩니다.
- 단일행 서브쿼리 && 여러 행 서브쿼리
: 단일 - 내부 select문에서 하나의 행만 반환하는 쿼리
여러 행 - 내부 select문에서 두 개 이상의 행을 반환하는 쿼리
- having절 (where절 뿐만 아니라 having절에서 사용가능)
select department_id, min(salary)
from employees
group by department_id
having min(salary) > (select min(salary)
from employees
where department_id = 50);
- 여러행이 나올경우 : '=' 말고 in사용
select employee_id, last_name
from employees
where department_id in (select department_id
from employees
where last_name like '%u%');
- any, all (true, false)
any (<) : 최댓값보다 작음을 의미
any (>) : 최소값보다 큼을 의미
all (<) : 최소값보다 작음을 의미
all (>) : 최댓값보다 큼을 의미
- exists 연산자 : 특정행이 있는지 여부에 따라 쿼리 결과가 달라지는 쿼리, 최소 한개의 행을 반환하면 true로 평가
- subquery에서 not in 사용 X 반환되는 값 중 하나가 null이면 전체 쿼리가 행을 반환하지 않는다.