
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';