Notice
Recent Posts
Recent Comments
관리 메뉴

Developer Gonie

[6주차] 23. 합집합 조인 (left, right, full outer 조인)*** 본문

K-DigitalTraining 강의/2. Oracle + PLSQL

[6주차] 23. 합집합 조인 (left, right, full outer 조인)***

이대곤 2022. 6. 15. 12:44

* 합집합 outer 조인 에는 left, right, full 3가지가 존재한다.

원본 테이블

1. left outer 조인 : 일치하는게 없으면 없는대로 왼쪽 필드 값은 살림

select *
from producer pro left outer join consumer con
on pro.p_code = con.c_code;

2. right outer 조인 : 일치하는게 없으면 없는대로 오른쪽 필드 값은 살림

select *
from producer pro right outer join consumer con
on pro.p_code = con.c_code;

3. full outer 조인 : select 오른편에 나열된 어느 한 쪽의 필드 값도 버리지 않음

select *
from producer pro full outer join consumer con
on pro.p_code = con.c_code;


위의 것을 그림으로 살펴보는 것

위와 문법이 살짝 다른데 작동 방법은 같으니 원하는걸 사용해도 될거같다.

다만 사람들은 아래의 방식을 더 많이 사용하고 있는거 같으니 알아두자.

INNER JOIN

* 겹치는 행만 모아서 테이블 생성

SELECT *
FROM FOOD_A A
INNER JOIN FOOD_B B
ON A.FOODNM = B.FOODNM

OUTER JOIN(LEFT)

* 왼쪽정보는 다 살리며, 오른쪽에 겹치는게 없다면 해당 값들은 NULL로 처리하여 테이블 생성

SELECT *
FROM FOOD_A A
LEFT OUTER JOIN FOOD_B B
ON A.FOODNM = B.FOODNM

OUTER JOIN(RIGHT)

* 오른쪽 정보는 다 살리며, 왼쪽에 겹치는게 없다면 해당 값들은 NULL로 처리하여 테이블 생성

SELECT *
FROM FOOD_A A
RIGHT OUTER JOIN FOOD_B B
ON A.FOODNM = B.FOODNM

OUTER JOIN(LEFT only)

맨 아래에 아래의 구절을 추가해주어 NULL이 포함된 행만 뽑아서 출력하면 됨.

 WHER B.ID IS NULL

 

OUTER JOIN(RIGHT only)

맨 아래에 아래의 구절을 추가해주어 NULL이 포함된 행만 뽑아서 출력하면 됨.

 WHER A.ID IS NULL

 

Comments