[ORACLE] JOIN 종류와 사용법
반응형
오라클에서 테이블간 JOIN 종류..
두개 이상의 테이블을 조인하여 사용할 수 있다.
1.INNER JOIN
2. OUTER JOIN
3. FULL OUTER JOIN
3가지라고 생각하면 된다.
(A테이블 : 입장객 / B테이블 : 고객정보 라고 가정)
1. INNER JOIN
두 테이블간 공통되는 값을 조회
: (A ∩ B)
-> 입장객 중 고객 정보가 있는 사람들
2. OUTER JOIN (RIGHT , LEFT)
두 테이블간 공통되는 값과 한 테이블에만 존재하는 값을 조회
: (B ∪ ( A ∩ B)) OR (A ∪ ( A ∩ B))
-> 고객정보가 없는 입장객을 포함한 총 입장객 이 될 수 있다.
3. FULL OUTER JOIN
두 테이블에 존재하는 모든 값 조회
: B ∪ A
-> 모든 고객정보와 모든 입장객 정보가 될 수 있다.
각각에 대해 문법은
-- 일반 JOIN
SELECT *
FROM TABLE_1 A
JOIN TABLE_2 B
ON (A.COL1 = B.COL1
AND A.COL2 = B.COL2)
-- INNER JOIN
SELECT *
FROM TABLE_1 A
INNER JOIN TABLE_2 B
ON (A.COL1 = B.COL1
AND A.COL2 = B.COL2)
-- RIGHT(LEFT) OUTER JOIN
SELECT *
FROM TABLE_1 A
RIGHT(LEFT) OUTER JOIN TABLE_2 B
ON (A.COL1 = B.COL1
AND A.COL2 = B.COL2)
-- FULL OUTER JOIN
SELECT *
FROM TABLE_1 A
FULL OUTER JOIN TABLE_2 B
ON (A.COL1 = B.COL1
AND A.COL2 = B.COL2)
현업에서는 이런 JOIN을 사용해야 할 경우가 발생하는데
상품데이터를 기준으로
A. 판매데이터
B. 출고데이터
C. 입고데이터
3개의 테이블에서 판매,출고,입고중 한 개라도 발생한 데이터의 경우 전부 출력해줘야 하는 경우가 있엇고
해당 3개의 테이블을 하나의 WITH문으로 작성하여 발생한 데이터를 가져와 해결하였다..
반응형
'Study > Oracle' 카테고리의 다른 글
[ORACLE] 오라클 클라우드 자바접속 (VS CODE) (0) | 2022.04.14 |
---|---|
[ORACLE] DROP, DELETE, UPDATE등 원복 (TIMESTAMP, FLASHBACK) (0) | 2022.04.12 |
[ORACLE] EXISTS, NOT EXISTS (0) | 2022.04.07 |
[ORACLE] MERGE INTO 구문 (0) | 2021.06.25 |
[ORACLE] 컬럼 관련 쿼리 (0) | 2021.04.19 |
댓글