SQLD JOIN

Soondol·2024년 5월 14일

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

  • INNER 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년 신유형 반영) 강의에 대해
공부 및 개인적으로 정리한 글 입니다.

0개의 댓글