MariaDB 조인 사용법: INNER, LEFT, RIGHT, CROSS JOIN
MariaDB에서는 여러 가지 조인 방법을 사용하여 테이블 간의 관계를 설정하고 데이터를 조회할 수 있습니다. 이 글에서는 INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN의 사용법을 예제와 함께 알아봅니다.
INNER JOIN 사용법
INNER JOIN은 두 테이블 간의 일치하는 행을 반환합니다. 일치하지 않는 행은 제외됩니다.
SELECT a.*, b.*
FROM table_a a
INNER JOIN table_b b ON a.id = b.a_id;
LEFT JOIN 사용법
LEFT JOIN은 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다. 일치하지 않는 오른쪽 테이블의 행은 NULL로 반환됩니다.
SELECT a.*, b.*
FROM table_a a
LEFT JOIN table_b b ON a.id = b.a_id;
RIGHT JOIN 사용법
RIGHT JOIN은 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환합니다. 일치하지 않는 왼쪽 테이블의 행은 NULL로 반환됩니다.
SELECT a.*, b.*
FROM table_a a
RIGHT JOIN table_b b ON a.id = b.a_id;
CROSS JOIN 사용법
CROSS JOIN은 두 테이블 간의 모든 가능한 조합을 반환합니다. 각 행은 왼쪽 테이블과 오른쪽 테이블의 모든 행과 결합됩니다.
SELECT a.*, b.*
FROM table_a a
CROSS JOIN table_b b;
테스트 테이블 및 샘플 데이터
예제를 테스트하기 위해 employees
와 departments
테이블을 생성하고 샘플 데이터를 삽입합니다.
테이블 생성
-- employees 테이블 생성
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(50),
department_id INT
);
-- departments 테이블 생성
CREATE TABLE departments (
id INT AUTO_INCREMENT PRIMARY KEY,
department_name VARCHAR(50)
);
샘플 데이터 삽입
-- 샘플 데이터 삽입
INSERT INTO employees (name, department_id) VALUES
('Alice', 1),
('Bob', 2),
('Charlie', NULL);
INSERT INTO departments (department_name) VALUES
('HR'),
('Engineering');
활용 예제
INNER JOIN 예제
SELECT e.name, d.department_name
FROM employees e
INNER JOIN departments d ON e.department_id = d.id;
LEFT JOIN 예제
SELECT e.name, d.department_name
FROM employees e
LEFT JOIN departments d ON e.department_id = d.id;
▼ INNER JOIN, LEFT JOIN 실행 결과 화면
![MariaDB INNER JOIN, LEFT JOIN 예제 실행 결과 화면](https://bluesharehub.com/wp-content/uploads/2024/05/image-68-1024x278.png)
![MariaDB INNER JOIN, LEFT JOIN 예제 실행 결과 화면](https://bluesharehub.com/wp-content/uploads/2024/05/image-68-1024x278.png)
RIGHT JOIN 예제
SELECT e.name, d.department_name
FROM employees e
RIGHT JOIN departments d ON e.department_id = d.id;
CROSS JOIN 예제
SELECT e.name, d.department_name
FROM employees e
CROSS JOIN departments d;
▼ RIGHT JOIN, CROSS JOIN 실행 결과 화면
![RIGHT JOIN, CROSS JOIN 실행 결과 화면](https://bluesharehub.com/wp-content/uploads/2024/05/image-69.png)
![RIGHT JOIN, CROSS JOIN 실행 결과 화면](https://bluesharehub.com/wp-content/uploads/2024/05/image-69.png)
참고할 만한 사이트
더 자세한 내용은 다음 사이트들을 참고하세요.
관련 이전 게시글
- MariaDB SELECT 문 사용법 및 DISTINCT 중복 제거
- MariaDB 데이터 추가: INSERT INTO 사용법
- MariaDB 데이터 수정: UPDATE 사용법
- MariaDB 데이터 삭제: DELETE FROM 사용법
- MariaDB 데이터 그룹화: GROUP BY 절 사용법
이 글이 도움이 되셨다면 공유 부탁 드립니다.