[SQL] 060. 여러 테이블의 데이터를 조인해서 출력하기3

Updated:

초보자를 위한 SQL 200제 교재를 토대로 공부한 내용입니다.

오라클 SQL을 기반으로 합니다.

실습에 사용한 테이블은 정보문화사 홈페이지에서 받을 수 있습니다.


[예시]

EQUI JOIN은 조건이 일치하는 경우만 출력한다.

OUTER JOIN은 조건이 일치하지 않더라도 한쪽 테이블은 그대로 출력한다.

집합으로 따지면 EQUI JOIN은 교집합, OUTER JOIN은 자기 자신 집합에 교집합 정보를 포함한다.

WHERE절 조건에 한쪽 테이블 쪽에 (+)를 적어주면 해당 테이블의 정보는 모두 출력된다.

단, (+)는 데이터가 적은 쪽에 기입하여야 하므로 미리 데이터 수를 알고 있어야 한다.

-- OUTER JOIN
-- EQUI JOIN 일치하는 것만 출력하며 OUTER JOIN은 일치하지 않는 경우도 출력
-- (+)는 데이터가 적은 쪽에 기입
SELECT B.DEPTNO, A.ENAME, B.LOC
FROM EMP A, DEPT B
WHERE A.DEPTNO (+) = B.DEPTNO;

[결과]

DEPTNO ENAME LOC
10 KING NEW YORK
30 BLAKE CHICAGO
10 CLARK NEW YORK
20 JONES DALLAS
30 MARTIN CHICAGO
30 ALLEN CHICAGO
30 TURNER CHICAGO
30 JAMES CHICAGO
30 WARD CHICAGO
20 FORD DALLAS
20 SMITH DALLAS
20 SCOTT DALLAS
20 ADAMS DALLAS
10 MILLER NEW YORK
40   BOSTON

Tags:

Categories:

Updated:

Leave a comment