▼ DataBase, NoSQL

MariaDB | JOIN의 종류

Valar 2021. 7. 6. 11:25
반응형

JOIN(조인)이란?

검색하고 싶은 컬럼이 다른 테이블에 있을 경우 사용하며 여러 개의 테이블을 하나의 테이블인 것처럼 활용하는 방법이다. 보통 Primary key 혹은 Foreign key로 두 테이블을 연결하여 사용한다.

 

INNER JOIN, JOIN

기준 테이블과 조인 테이블의 중복된 값을 보여준다.
A테이블과 B테이블이 모두 가지고 있는 데이터가 검색된다.

 

// INNER JOIN
SELECT
  A.컬럼
  B.컬럼
FROM 
  기준테이블 A INNER JOIN 조인테이블 B
  ON A.기준키 = B.기준키

// JOIN
SELECT
  A.컬럼
  B.컬럼
FROM 
  기준테이블 A JOIN 조인테이블 B
  ON A.기준키 = B.기준키

 

 

LEFT OUTER JOIN, LEFT JOIN

왼쪽 테이블을 기준으로 JOIN 한다.
기준 테이블의 결과 + 기준테이블의 중복 값을 보여준다.

 

// LEFT OUTER JOIN
SELECT
  A.컬럼
  B.컬럼
FROM 
  기준테이블 A LEFT OUTER JOIN 조인테이블 B
  ON A.기준키 = B.기준키

// LEFT JOIN
SELECT
  A.컬럼
  B.컬럼
FROM 
  기준테이블 A LEFT JOIN 조인테이블 B
  ON A.기준키 = B.기준키

 

 

RIGHT OUTER JOIN, RIGHT JOIN

오른쪽 테이블을 기준으로 JOIN 한다.
기준 테이블의 결과 + 기준테이블의 중복 값을 보여준다.

 

// RIGHT OUTER JOIN
SELECT
  A.컬럼
  B.컬럼
FROM 
  기준테이블 A RIGHT OUTER JOIN 조인테이블 B
  ON A.기준키 = B.기준키

// RIGHT JOIN
SELECT
  A.컬럼
  B.컬럼
FROM 
  기준테이블 A RIGHT JOIN 조인테이블 B
  ON A.기준키 = B.기준키

 

 

FULL OUTER JOIN

A 테이블의 데이터 , B테이블의 데이터 모두 검색된다.

 

// FULL OUTER JOIN
SELECT
  A.컬럼
  B.컬럼
FROM 
  기준테이블 A FULL OUTER JOIN 조인테이블 B
  ON A.기준키 = B.기준키

 

*MariaDB 에서는 FULL OUTER JOIN은 지원하지 않는다.

 

따라서 UNION을 이용한 방법을 사용한다.

 

UNION은 여러개의 SQL문을 합쳐 하나의 SQL문으로 만들어주는 방법이다. (합집합)

 

SELECT * 
FROM 기준테이블 A LEFT JOIN 조인테이블 B ON A.기준키 = B.기준키
UNION 
SELECT * 
FROM 기준테이블 A RIGHT JOIN 조인테이블 B ON A.기준키 = B.기준키

 

 


 

반응형