Today
-
Yesterday
-
Total
-

ABOUT ME

-

  • MariaDB | JOIN의 종류
    ▼ DataBase, NoSQL 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.기준키

     

     


     

    반응형

    댓글

Designed by Tistory.