오라클 샘플스키마를 가지고 실습을 하다가 문뜩 궁금한 점이 있어서 올립니다. ^^;
관리자를 찾아서 이름을 출력하는 쿼리입니다.
1. joint 이용
select e.last_name
from employees e join employees m
on(e.employee_id = m.manager_id);
2. subquery이용
select last_name
from employees
where employee_id in (select manager_id
from employees);
둘다 똑같은 결과를 도출하고자 사용한 문장들인데요, 결과는 조금 다르게 나옵니다.
2번의 경우 자동으로 중복이 제거되어 결과가 나옵니다.
그래서 왜 subquery를 원래 중복이 제거되는 것인지
그렇다면 어떠한 절차가 있어서 그렇게 되는 것인지 궁금합니다~
아시는 분들 댓글 한줄만 좀 부탁드립니다 ^^;