JOIN
- 여러 테이블의 데이터를 사용하여 동시 출력하거나 참조할 경우 사용
- FROM 절에 조인할 테이블 나열
JOIN 종류
조건의 형태에 따라
- EQUI JOIN(등가 JOIN) : JOIN 조건이 동등 조건인 경우
- NON EQUI JOIN: JOIN 조건이 동등 조건이 아닌 경우
JOIN 결과에 따라
- INNER JOIN : JOIN 조건에 성립하는 데이터만 출력
- OUTER JOIN : JOIN 조건에 성립하지 않는 데이터도 출력
(LEFT / RIGHT / FULL OUTER JOIN 으로 나뉨)
NATURAL JOIN
- JOIN 조건 생략 시 두 테이블에 같은 이름으로 자연 연결되는 조인
CROSS JOIN
- JOIN 조건 생략 시 두 테이블에 발생 가능한 모든 행을 출력
SELF JOIN
- 하나의 테이블을 두 번 이상 참조하여 연결하는 조인
표준 JOIN
- ANSI 표준으로 작성되는 INNER, CROSS, NATURAL, OUTER JOIN을 말함
INNER JOIN
- 내부 조인이라고 하며, 조인 조건이 일치하는 행만 추출
- FROM 절에 INNER JOIN 혹은 줄여서 JOIN 명시
- USING이나 ON조건절을 필수적으로 사용
ON 절
- 조인할 양 컬럼의 컬럼명이 서로 다르더라도 사용 가능
- ON 조건의 괄호는 옵션(생략가능)
- ON 조건절에는 조인 조건 명시, WHERE 조건절에는 일반조건 명시
문법
SELECT table1.컬럼명, table2.컬럼명
FROM table1 INNER JOIN table2
ON table1.조인컬럼 = table2.조인컬럼
USING 조건절
- 조인할 컬럼명이 같을 경우 사용
- Alias나 테이블 이름 같은 접두사 붙이기 불가
- 괄호 필수
문법
SELECT table1.컬럼명, table2.컬럼명
FROM table1 INNER JOIN table2
USING(동일컬럼명)
NATURAL JOIN
- 두 테이블간의 동일한 이름을 가지는 모든 컬럼들에 대해 EQUI JOIN 수행
- USING, ON, WHERE절에서 조건 정의 불가
CROSS JOIN
- 테이블 간 JOIN조건이 없는 경우 생성 가능한 모든 데이터들의 집합 (카타시안곱 출력)
OUTER JOIN
종류
- LEFT OUTER JOIN
- 왼쪽 테이블이 기준이 되어 오른쪽 데이터를 채우는 방식
- 우측 값에서 같은 값이 없는 경우 NULL출력
- RIGHT OUTER JOIN
- LEFT OUTER JOIN과 반대
- FULL OUTER JOIN
- 두 테이블 전체 기준으로 결과를 생성하여 중복 데이터는 삭제후 리턴
- LEFT OUTER JOIN, RIGHT OUTER JOIN 결과의 UNION연산 리턴과 동일
홍쌤의 데이터랩
SQLD 2과목 PART1. SQL 기본 완벽 정리 (2024년 신유형 반영) 강의에 대해
공부 및 개인적으로 정리한 글 입니다.