Oracle
09. Chapter4 Advanced Query(Join)(20081030)
Gungume
2009. 1. 9. 10:42
Self Join (P4-12)
- 사원이름, 관리자이름 얻고 싶을 때~(P4-13 테이블 이용)
- 사원, 관리자가 모두 emp 테이블에 있으므로 테이블 하나로 Join~(emp 테이블이 하나 더 있다고 가정, 즉 emp 테이블이 두개라고 가정)
- 헷갈리니까 각각 Alias 지정~
- SQL> SELECT w.ename 사원이름, m.ename 관리자이름
2 FROM emp w, emp m
3 WHERE w.mgr = m.empno; - 사원이름 관리자이름
---------- ----------
SCOTT JONES
FORD JONES
ALLEN BLAKE
WARD BLAKE
JAMES BLAKE
TURNER BLAKE
MARTIN BLAKE
MILLER CLARK
ADAMS SCOTT
JONES KING
CLARK KING
BLAKE KING
SMITH FORD - 13 rows selected.
- KING사원은 MGR이 없음, 출력하고 싶으면 Outer Join 이용~
- SQL> SELECT w.ename 사원이름, m.ename 관리자이름
2 FROM emp w, emp m
3 WHERE w.mgr = m.empno(+); - 사원이름 관리자이름
---------- ----------
FORD JONES
SCOTT JONES
JAMES BLAKE
TURNER BLAKE
MARTIN BLAKE
WARD BLAKE
ALLEN BLAKE
MILLER CLARK
ADAMS SCOTT
CLARK KING
BLAKE KING
JONES KING
SMITH FORD
KING - 14 rows selected.
이 글은 스프링노트에서 작성되었습니다.