MariaDB의 공식 자료에 따르면, 테이블 간 데이터를 결합하기 위해 다양한 JOIN 유형이 활용됩니다. 이 글은 INNER JOIN, CROSS JOIN, LEFT JOIN, 그리고 RIGHT JOIN 등 기본적인 JOIN 문법과 각각의 결과를 설명합니다.
목차
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 값을 처리할 전략을 세워야 합니다.
'MySQL MariaDB > SQL 문법' 카테고리의 다른 글
MariaDB에서 CREATE ROLE. 역할 생성 (0) | 2024.11.16 |
---|---|
MariaDB에서 사용하지 않는 계정 삭제 DROP USER 하는 방법 (0) | 2024.11.15 |
MariaDB ALTER USER 문법 및 사용 사례 설명 (1) | 2024.11.14 |
MariaDB의 CREATE USER 명령어 사용법: 사용자 계정 생성과 관리 (0) | 2024.11.13 |
MariaDB.CREATE INDEX (0) | 2024.11.11 |
기본 SQL 디버깅.쿼리 디자인. (1) | 2024.11.08 |
MySQL/MariaDB row_number 함수. 랭킹(순위) 구하기. (0) | 2024.07.15 |
MySQL/MariaDB dense_rank 함수. 랭킹(순위) 구하기. (0) | 2024.07.15 |
댓글