※ 반드시 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);

'SQL' 카테고리의 다른 글
[SQL][TIL] 집합 연산자 (0) | 2021.07.09 |
---|---|
[SQL][TIL] ADSQL문제풀이 (0) | 2021.07.09 |
[SQL][TIL] Correlated Subquery, Scalar Subquery (0) | 2021.07.08 |
[SQL][TIL] In-line view (from절에 사용되는 subquery) (0) | 2021.07.08 |
[SQL][TIL] Not-IN 연산자 (null값 주의하자) (0) | 2021.07.08 |