[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 |
Leave a comment