[oracle] self join, outer join

Jehyung Kim·2023년 1월 26일

Oracle SQL DB

목록 보기
16/18
post-thumbnail

self join ) 같은 테이블을 두 번 이상 조인하는 것을 의미한다.

outer join ) 조인 조건에 해당하지 않기 때문에 결과에 포함되지 않는 로우까지 가져오는 조인이다.

Q1) SMITH 사원의 사원번호, 이름, 직속상관 이름을 가져온다.

-- a1 : SMITH 사원의 정보
-- a2 : 직속상관의 정보
select a1.empno, a1.ename, a2.ename
from emp a1, emp a2
where a1.mgr = a2.empno and a1.ename = "SMITH";

Q2) FORD 사원 밑에서 일하는 사원들의 사원번호, 이름, 직무를 가져온다.

-- a1: FORD의 정보
-- a2: 부하 직원의 정보
select a2.empno, a2.ename, a2.job
from emp a1, emp a2
where a1.empno = a2.mgr and a1.ename="FORD";

Q3) SMITH 사원의 직속상관과 동일한 직무를 가지고 있는 사원들의 사원번호, 이름, 직무를 가져온다.

-- a1: Smith의 정보
-- a2: Smith의 직속상관 정보
-- a3: 직속상관과 동일한 직무를 가지고 있는 사원들의 정보

select a3.empno, a3.ename, a3.job
from emp a1, emp a2, emp a3
where a1.mgr = a2.empno and a2.job = a3.job and a1.ename='SMITH';
profile
tryandcatch

0개의 댓글