MariaDB 조인 사용법: INNER, LEFT, RIGHT, CROSS JOIN

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;

테스트 테이블 및 샘플 데이터

예제를 테스트하기 위해 employeesdepartments 테이블을 생성하고 샘플 데이터를 삽입합니다.

테이블 생성

-- 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;
MariaDB INNER JOIN, LEFT JOIN 예제 실행 결과 화면

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 실행 결과 화면

참고할 만한 사이트

더 자세한 내용은 다음 사이트들을 참고하세요.

관련 이전 게시글

이 글이 도움이 되셨다면 공유 부탁 드립니다.

위로 스크롤