티스토리 뷰

SQL

[SQL] JOIN 정리 - 종류 및 설명

햄밥김치참치버거 2026. 4. 6. 15:37

JOIN의 종류

JOIN의 사용 목적

- 데이터 분리 저장 → 필요할 때 결합
- 중복 줄이기
- 관계형 데이터 조회

예:

  • 회원 + 주문 정보
  • 게시글 + 작성자
  • 상품 + 카테고리

JOIN 종류의미

INNER (기본) 공통된 데이터만
LEFT (실무핵심) 왼쪽 전체 + 오른쪽 일부
RIGHT 오른쪽 전체 + 왼쪽 일부
FULL 양쪽 전체
CROSS 모든 조합
SELF 자기 자신과 JOIN

 


JOIN의 기초 문법 안내

  • JOIN 원하는 테이블 AS 약칭 ON 기준1 = 기준2
  • Tip1 기준1 , 기준2는 데이터 구조도 동일하게 하는 것을 권장합니다.
  • Tip2 Bigquery에서는 데이터 구조가 다르면 JOIN시 ERROR가 발생합니다.

SELECT 컬럼들

FROM 테이블1

JOIN 테이블2

  ON 테이블1.key = 테이블2.key

 


 

 

1. INNER JOIN : ID값이 서로 중복되는 값만 나타낸다.

 

INNER JOIN

select * 

from 테이블_A

inner join 테이블_B

    on A.key = B.key

 

 

SELECT *

FROM users u

INNER JOIN orders o

   ON u.user_id = o.user_id

 


2. OUTER JOIN 

OUTTER JOIN 그림설명

  • 두 테이블 간의 교집합 되는 데이터뿐만 아닌 해당되지 않는 값 까지 가져온다.
  • 드라이빙 테이블(처음으로 가져오는 기준이 되는 테이블) 필요합니다
  • INNER JOIN과 비슷하지만 안 겹치는 것도 포함해서 나타냅니다

 OUTER JOIN의 개념은

  - FULL JOIN → 둘 다 유지

  - RIGHT JOIN → 오른쪽 기준 유

  - LEFT JOIN → 왼쪽 기준 유지

 

 

2-1 FULL OUTER JOIN : 모든 데이터 조회를 위한 합집합 개념

 

SELECT *
FROM users u
FULL OUTER JOIN orders o
ON u.user_id = o.user_id;


2-2 LEFT OUTER JOIN : FROM "Table"에 초점을 맞춘 Join

 

SELECT *
FROM users u
LEFT OUTER JOIN orders o
ON u.user_id = o.user_id;


2-3 RIGHT OUTER JOIN : OUTER JOIN "TABLE"에 초점을 맞춘 JOIN

 

SELECT *
FROM users u
RIGHT OUTER JOIN orders o
ON u.user_id = o.user_id;


3. LEFT JOIN : 왼쪽 테이블을 중심으로 오른쪽의 테이블을 매치시킨다.

(오른쪽 테이블 데이터가 없으면, 오른쪽 값은 NULL로 채워집니다.)

기본 문법

SELECT *
FROM A
LEFT JOIN B
ON A.id = B.id;

 

 

'SQL' 카테고리의 다른 글

GROUP BY를 사용할 때 와 아닐 때  (0) 2026.05.25
[MySQL] CHAR VARCHAR  (0) 2026.04.12
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
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 29 30
글 보관함