SQL
[SQL][TIL] exists 연산자 (where절의 in 연산자 대신 사용)
breadz
2021. 7. 8. 14:41
※ 반드시 subquery를 끼고 있어야 함
※ subquery가 참이면 main query의 컬럼이 출력됨. sub query가 문법상 틀리지만 않으면 main query 출력
select *
from departments d
where exists (select *
from employees
where department_id = d.department_id);
※ where절의 in 연산자 대신에 쓰는건가ㅏ..? ㅇㅇ 속도 빠르게 하기 위해서 사용
// in 연산자를 쓸 경우, employees의 department_id의 모든 행을 다 검색하게 됨. => 속도가 느리다.
select *
from departments d
where department_id in (select department_id
from employees
where department_id = d.department_id);