본문 바로가기
데이터 베이스/SQL

[SQL] JOIN (INNER JOIN, OUTER JOIN)

by Bhinney 2023. 1. 5.

📍JOIN이란?

  • 두 개 이상의 테이블을 서로 연결하여 데이터를 검색할 때 사용하는 방법
  • 두 개의 테이블을 마치 하나의 테이블인 것처럼 보여줌

📎 JOIN 종류

  • INNER JOIN
  • OUTER JOIN (LEFT OUTER JOIN, FULL OUTER JOIN, RIGHT OUTER JOIN)
  • CROSS JOIN
  • SELF JOIN 

📍JOIN 종류

1️⃣ INNER JOIN (내부 조인)

  • 두 테이블을 연결할 때 가장 많이 사용하는 것이 INNER JOIN
  • 그냥 JOIN 이라고 부르면 INNER JOIN을 의미

SELECT 열_목록
FROM 테이블_1
INNER JOIN 테이블_2 /* 그냥 JOIN으로 써도 INNER JOIN으로 인식 */
ON 조인_조건
WHERE 검색_조건;

 


2️⃣ OUTER JOIN (외부 조인)

  • INNER JOIN 은 두 테이블에 모두 데이터가 있어야만 결과가 나옴
  • OUTER JOIN 은 한쪽에만 데이터가 있어도 결과가 나옴
  • LEFT OUTER JOIN: 왼쪽 테이블의 모든 값이 출력되는 조인
  • RIGHT OUTER JOIN: 오른쪽 테이블의 모든 값이 출력되는 조인
  • FULL OUTER JOIN: 왼쪽 또는 오른쪽 테이블의 모든 값이 출력되는 조인


3️⃣ CROSS JOIN (상호 조인)

  • 한 쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능
  • CROSS JOIN 결과의 전체 행 개수 = 두 테이블의 각 행의 개수를 곱한 수
  • 카티션 곱(CARTESIAN PRODUCT)

SELECT * 
FROM 테이블_1
CROSS JOIN 테이블_2;

 


4️⃣ SELF JOIN (자체 조인)

  • SELF JOIN 은 자기 자신과 조인 하므로 1개의 테이블을 사용
  • 별도의 문법이 있는 것이 아니고 1개로 조인 하면, SELF JOIN

SELECT 열_목록
FROM A a1
INNER JOIN A a2
ON 조인_조건
WHERE 검색_조건;

 

'데이터 베이스 > SQL' 카테고리의 다른 글

[SQL] What is the SQL? (+ 관계형 데이터 베이스)  (0) 2022.08.05

댓글