🔍 외부조인이란?
**외부조인(Outer Join)**은
한쪽 테이블에는 있고,
다른 쪽 테이블에는 없는 데이터도
결과에 포함시켜서 보여주는 조인 방식이에요.
외부조인(Outer join) 조건
- 외부조인 연산자 '(+)'를 부족한 자료를 나타내는 쪽에 추가
- 연산자 양쪽에 '(+)' 연산자를 사용할 수 없음
- 복수개의 외부조인 조건이 요구되면 모든 조인조건에 외부조인 연산자를 추가해야 함
- 하나의 테이블이 동시에 서로 다른 테이블과 외부조인될 수 없다. 즉, A,B,C 테이블이 조인에 참여한다면
- A=B(+) AND C=B(+) 는 허용되지 않음(A=B(+) AND B=C(+)는 허용)
- 일반조건과 외부조인조건을 동시에 적용하면 내부조인 결과로 변환됨 -> 해결책(ANSI OUTER JOIN, 서브쿼리)
- 2개 이상이 동시에 존재하는 컬럼을 출력하는 경우 많은쪽 테이블의 컬럼을 출력해야하며,
- COUNT 함수 사용시 '*' 대신 컬럼명(PK)를 사용해야함
2. 💛 외부조인 (OUTER JOIN, 특히 LEFT OUTER JOIN)
왼쪽(STUDENT) 테이블은 다 보여주고, 오른쪽(TEST)에 없으면 빈칸(null) 으로 보여줘요!
SELECT 이름, 점수
FROM STUDENT S
LEFT OUTER JOIN TEST T ON S.학생ID = T.학생ID;
📋 결과:
| 이름 | 점수 |
| 민수 | 90 |
| 지우 | 85 |
| 수아 | (없음) → NULL |
🎉 시험 안 본 "수아"도 결과에 나왔어!
🧠 핵심 요약
| 조인 종류 | 설명 | 예시 |
| 내부조인 | 두 테이블에 둘 다 있는 것만 보여줘요 | 시험 본 학생만 나옴 |
| 왼쪽 외부조인 | 왼쪽(STUDENT) 테이블은 전부, 오른쪽은 없으면 NULL | 시험 안 본 학생도 나옴 |
| 오른쪽 외부조인 | 반대로 오른쪽 테이블을 기준으로 다 보여줌 | 자주 안 써, 잘 기억만 해둬! |
🔔 정리 그림 (상상하기)
- 🍎 사과 박스와 🍌 바나나 박스가 있어!
- 내부조인: 🍎랑 🍌 둘 다 있는 것만 골라!
- 외부조인: 🍎 기준으로 다 보여주고, 바나나 없으면 "비었어요~"
🔔 한 줄 요약
외부조인은 한쪽 테이블 기준으로 모든 데이터를 보여주면서,
다른 쪽에 없는 데이터도 NULL로 채워서 함께 보여주는 조인 방식이다.
'대덕인재 > Oracle' 카테고리의 다른 글
| [Oracle D-12] ANSI JOIN (0) | 2025.04.19 |
|---|---|
| [Oracle D-14] 서브쿼리(Subquery) (0) | 2025.04.18 |
| [Oracle D-12] 내부조인(Inner Join),외부조인(Outer Join), ANSI join (0) | 2025.04.17 |
| [Oracle D-11] 출력순서 (0) | 2025.04.15 |
| [Oracle D-10] 집계 함수 (0) | 2025.04.14 |