본문 바로가기
MySQL MariaDB/SQL 문법

JOIN 문을 활용한 테이블 결합 - MariaDB 가이드

by 쑤- IT, MySQL, MariaDB, DBeaver 2024. 11. 12.

MariaDB의 공식 자료에 따르면, 테이블 간 데이터를 결합하기 위해 다양한 JOIN 유형이 활용됩니다. 이 글은 INNER JOIN, CROSS JOIN, LEFT JOIN, 그리고 RIGHT JOIN 등 기본적인 JOIN 문법과 각각의 결과를 설명합니다.

JOIN 문을 활용한 테이블 결합 - MariaDB 가이드


목차


    1. JOIN이란 무엇인가?

    JOIN은 두 개 이상의 테이블을 연결하여 관계형 데이터베이스의 데이터를 조합하는 데 사용됩니다. MariaDB에서는 다양한 JOIN 구문을 통해 필요에 따라 데이터의 조건을 설정할 수 있습니다.


    2. 기본 JOIN 유형

    (1) INNER JOIN

    - 조건에 맞는 두 테이블의 공통 데이터를 반환합니다.
    - 예제:

    
    SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.b;
    

    결과: t1과 t2의 일치하는 값만 반환.


    (2) CROSS JOIN

    - 모든 테이블의 행을 조합하여 Cartesian Product를 생성합니다.
    - MariaDB에서는 ON 조건이 없는 JOIN은 자동으로 CROSS JOIN으로 처리됩니다.
    - 예제:

    
    SELECT * FROM t1 CROSS JOIN t2;
    

    (3) LEFT JOIN

    - 왼쪽 테이블(t1)의 모든 행을 반환하며, 오른쪽 테이블(t2)에 해당하지 않는 경우 NULL로 채웁니다.
    - 예제:

    
    SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.b;
    

    (4) RIGHT JOIN

    - RIGHT JOIN은 LEFT JOIN과 반대의 역할을 합니다. 오른쪽 테이블의 모든 데이터를 반환합니다.


    3. JOIN의 실습 예제

    INNER JOIN 예제

    
    SELECT * FROM t1 INNER JOIN t2 ON t1.a = t2.b;
    

    CROSS JOIN 예제

    
    SELECT * FROM t1 CROSS JOIN t2;
    

    LEFT JOIN 예제

    
    SELECT * FROM t1 LEFT JOIN t2 ON t1.a = t2.b;
    

    4. JOIN 활용 팁 및 주의사항

    - INNER JOIN과 WHERE 조건을 적절히 활용하여 데이터의 정확성을 유지하세요.
    - CROSS JOIN은 데이터가 많을 경우 결과셋이 기하급수적으로 커질 수 있으므로 주의가 필요합니다.
    - LEFT JOIN 및 RIGHT JOIN 사용 시 NULL 값을 처리할 전략을 세워야 합니다.

    댓글