티스토리 뷰
OUTER JOIN 완벽 이해하기
[SQL, 오라클] 1. OUTER JOIN이란? (+) 를 이용한 간단 예제
[SQL, 오라클] 2. LEFT/RIGHT/FULL OUTER JOIN 이란? + 간단 예제
[SQL, 오라클] 3. OUTER JOIN으로 NULL값 이해하기 + NULL값을 활용한 함수 (NVL()외)
[SQL, 오라클] 번외) OUTER JOIN 시 NVL() 함수 사용 유의점
[SQL, 오라클] 1. OUTER JOIN이란? (+) 를 이용한 간단 예제
OUTER JOIN은 조인 조건을 만족하지 않는 행까지 함께 출력할 때 사용됩니다.
OUTER JOIN을 더 세부적으로 나누면
1. LEFT OUTER JOIN
2. RIGHT OUTER JOIN
3. FULL OUTER JOIN으로 나눌 수 있습니다.
이 내용은 다른 포스팅에서 다뤄보도록 하고,
이 포스팅에서는 OUTER JOIN 기호 '(+)'를 사용해서 OUTER JOIN을 해보겠습니다.
OUTER JOIN 시 활용되는 '(+)'
'(+)' 기호의 위치의 반대쪽 테이블이 OUTER JOIN의 기준이 되는 테이블입니다.
예를 들어서
WHERE A.ID = B.ID (+) 라는 구문이 있다면
A 테이블이 OUTER JOIN의 기준이 되는 테이블입니다.
A 테이블은 모든 데이터가 출력되고, B 테이블은 A 테이블의 조인 조건을 만족하는 경우 출력되며
만족하지 않는 경우 NULL로 표시됩니다.
먼저 임의로 세 개의 테이블을 구성했습니다.
1. STUDENT : 학생 테이블
- STU_ID : 학번 (PK)
- STU_NAME : 이름
- DEPARTMENT : 학과
2. SUBJECT : 과목 테이블
- SUB_CODE : 과목코드 (PK)
- SUB_NAME : 과목이름
3. SIGNUP_LIST : 수강 테이블
- SUB_CODE : 과목코드
- SUT_ID : 학번
INNER JOIN은 조인 조건을 만족하는 결과 행들만 출력합니다.
INNER JOIN을 활용한 예시는 다음과 같습니다.
예제 1 ) (INNER JOIN) - 컴퓨터공학과 학생들 중 컴퓨터공학개론을 수강하는 학생들의 리스트
출력 컬럼 : 과목코드, 과목명, 학번, 이름, 학과
출력예시 >
OUTER JOIN을 활용할 수 있는 예제를 보겠습니다.
예제 2 ) (OUTER JOIN) - 컴퓨터공학과 학생들의 컴퓨터공학개론의 수강여부
출력 컬럼 : 학번, 이름, 과목명, 수강여부
출력예시 >>
SELECT A.STU_ID
, A.STU_NAME
, B.SUB_NAME
, CASE WHEN C.STU_ID IS NOT NULL THEN 'Y' ELSE 'N' END AS SIGNUP_YU
FROM STUDENT A, SUBJECT B, SIGNUP_LIST C
WHERE A.STU_ID = C.STU_ID (+)
AND B.SUB_CODE = C.SUB_CODE (+)
AND A.DEPARTMENT_NAME = '컴퓨터공학과'
AND B.SUB_NAME = '컴퓨터공학개론'
이와 같은 예제에서 볼 수 있듯이 조인 조건을 만족하지 않은 데이터도 출력할 필요가 있습니다.
출력 결과의 3번 행은 조인 조건을 만족하지 않는 행이므로 C.STU_ID 를 SELECT 절에 기술하여 출력할 경우
NULL로 표시됩니다.
간단하게 OUTER JOIN에 대해 알아보았습니다.
다음 포스팅에서는 LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN에 대해 알아보겠습니다.
감사합니다.
'데이터베이스' 카테고리의 다른 글
[SQL, 오라클] NULL값 속성 이해, 집계함수 NULL값, OUTER 조인과 NULL, 문제풀이 (0) | 2021.08.02 |
---|
- Total
- Today
- Yesterday
- 오라클 null값
- 오라클 집계함수
- 별찍기예제
- 아우터조인
- 파이썬
- JavaFX
- 오라클 null값 집계함수
- world wide web
- 자바글자수세기
- outer join
- 웹
- 파이썬기초
- Python dictionary
- 딕셔너리
- 글자수세기프로그램
- 자바
- WWW
- 아우터조인이란
- 웹이란
- 파이썬 딕셔너리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |