본문 바로가기
DataBase/Oracle

JOIN/EQUI-JOIN) SELF JOIN

by 박채니 2022. 4. 19.

안녕하세요, 코린이의 코딩 학습기 채니 입니다.

 

개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.


SELF JOIN

- 같은 테이블을 조인 처리

 

사원명/관리자명 조회

select
    *
from
    employee e left join employee m
        on e.manager_id = m.emp_id;

파란 선을 기준으로 왼쪽은 employee e 테이블, 오른쪽은 employee m 테이블입니다.

employee e의 manager_id와 employee m의 emp_id가 같을 때 join 하도록 하였고, 관리자가 없는 사원들도 우선 추출하기 위해서 left join을 이용하였습니다.

 

select
    e.emp_name 사원명,
    m.emp_name 관리자명
from
    employee e left join employee m
        on e.manager_id = m.emp_id;

만일 관리자가 없는 사원들은 제외하고 싶다면 inner join을 사용하면 되겠죠?

 

[오라클 전용문법 버전]

select
    e.emp_name 사원명,
    m.emp_name 관리자명
from
    employee e, employee m
where
    e.manager_id = m.emp_id(+);