[SQL] 066. 여러 테이블의 데이터를 조인해서 출력하기9
Updated:
초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.
오라클 SQL을 기반으로 합니다.
실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.
[예시]
ON
조건으로 FULL OUTER JOIN을 수행 가능 하다.
먼저 EMP 테이블에 DEPTNO(부서번호) 50 데이터를 추가한다.
데이터 추가 방법은 추후 나오니 참고만 하자.
이 실습 이후 데이터는 다시 원래대로 수정한다.
-- 작업 데이터 수정
INSERT INTO EMP(EMPNO, ENAME, SAL, JOB, DEPTNO)
VALUES(8282, 'JACK', 3000, 'ANALYST', 50);
-- FULL OUTER JOIN
-- 일치하지 않고 한쪽 테이블에만 있는 정보도 출력
SELECT A.DEPTNO AS EMP_DEPTNO, B.DEPTNO AS DEPT_DEPTNO, A.ENAME, A.JOB, B.LOC
FROM EMP A
FULL OUTER JOIN DEPT B ON A.DEPTNO = B.DEPTNO;
[결과]
EMP 테이블에만 있는 DEPTNO 50에 대한 정보가 출력되었다.
DEPTNO 테이블에만 있는 DEPTNO 40에 대한 정보가 출력되었다.
EMP_DEPTNO | DEPT_DEPTNO | ENAME | JOB | LOC |
---|---|---|---|---|
10 | 10 | KING | PRESIDENT | NEW YORK |
30 | 30 | BLAKE | MANAGER | CHICAGO |
10 | 10 | CLARK | MANAGER | NEW YORK |
20 | 20 | JONES | MANAGER | DALLAS |
30 | 30 | MARTIN | SALESMAN | CHICAGO |
30 | 30 | ALLEN | SALESMAN | CHICAGO |
30 | 30 | TURNER | SALESMAN | CHICAGO |
30 | 30 | JAMES | CLERK | CHICAGO |
30 | 30 | WARD | SALESMAN | CHICAGO |
20 | 20 | FORD | ANALYST | DALLAS |
20 | 20 | SMITH | CLERK | DALLAS |
20 | 20 | SCOTT | ANALYST | DALLAS |
20 | 20 | ADAMS | CLERK | DALLAS |
10 | 10 | MILLER | CLERK | NEW YORK |
50 | JACK | ANALYST | ||
40 | BOSTON |
Leave a comment