[sql] LEFT JOIN과 FULL JOIN의 활용 시나리오

관계형 데이터베이스에서 LEFT JOIN과 FULL JOIN은 두 개의 테이블 간의 관계를 형성하고, 데이터를 결합하는 데 사용됩니다.

1. LEFT JOIN

LEFT JOIN은 왼쪽 테이블의 모든 레코드를 포함하고, 오른쪽 테이블과 일치하는 레코드가 있는 경우에만 오른쪽 테이블의 레코드를 포함합니다. 이를 통해 왼쪽 테이블의 모든 레코드를 유지하면서, 오른쪽 테이블과의 연관된 정보를 가져올 수 있습니다.

예를 들어, employees 테이블과 departments 테이블이 있을 때, 모든 직원의 정보와 각 직원이 속한 부서의 정보를 가져오고 싶을 때 LEFT JOIN을 사용할 수 있습니다.

SELECT employees.*, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.department_id;

2. FULL JOIN

FULL JOIN은 왼쪽 테이블과 오른쪽 테이블 중 한쪽에만 있는 레코드나 양쪽 테이블에 있는 모든 레코드를 포함합니다. 이를 통해 두 테이블 간의 모든 연관 정보를 가져올 수 있습니다.

예를 들어, 고객 정보를 담고 있는 customers 테이블과 주문 정보를 담고 있는 orders 테이블이 있을 때, 고객과 그들의 주문 정보를 모두 가져오고 싶을 때 FULL JOIN을 사용할 수 있습니다.

SELECT customers.*, orders.order_date
FROM customers
FULL JOIN orders ON customers.customer_id = orders.customer_id;

결론

LEFT JOIN과 FULL JOIN은 데이터베이스에서 두 개의 테이블 간에 일치하는 정보를 결합하고, 두 테이블의 모든 레코드를 가져올 수 있도록 도와줍니다. 이를 통해 다양한 형태의 데이터 분석과 의사 결정에 활용할 수 있습니다.

위의 예시를 통해 LEFT JOIN과 FULL JOIN의 활용 시나리오를 확인할 수 있습니다.