OUTER JOIN이 필수적으로 필요한 상황은 다음과 같습니다.
SELECT d.department_name, e.name
FROM departments d
LEFT OUTER JOIN employees e ON d.id = e.department_id;
🔹 필수적인 이유:
INNER JOIN을 사용하면 직원이 없는 부서는 조회되지 않음 LEFT OUTER JOIN을 사용해야 직원이 없는 부서도 확인 가능 ✅ 언제 필요할까?
SELECT c.customer_name, o.order_id, o.total_price
FROM customers c
LEFT OUTER JOIN orders o ON c.id = o.customer_id;
🔹 필수적인 이유:
INNER JOIN을 사용하면 주문을 한 고객만 조회됨 LEFT OUTER JOIN을 사용해야 주문을 하지 않은 고객도 포함됨 ✅ 언제 필요할까?
SELECT old.id, old.name, new.name AS new_name
FROM old_customers old
FULL OUTER JOIN new_customers new ON old.id = new.id;
🔹 필수적인 이유:
FULL OUTER JOIN을 사용하면 기존에 있었는데 삭제된 데이터와 새롭게 추가된 데이터를 모두 확인 가능 ✅ 언제 필요할까?
SELECT p.product_name, SUM(s.quantity) AS total_sold
FROM products p
LEFT OUTER JOIN sales s ON p.id = s.product_id
GROUP BY p.product_name;
🔹 필수적인 이유:
INNER JOIN을 사용하면 한 번도 팔리지 않은 제품은 조회되지 않음 LEFT OUTER JOIN을 사용해야 판매 내역이 없는 제품도 포함 가능 ✅ 언제 필요할까?
OUTER JOIN이 필수적인 경우| 상황 | OUTER JOIN이 필요한 이유 |
|---|---|
| 누락된 데이터 포함 | 직원이 없는 부서, 주문이 없는 고객 등을 포함해야 할 때 |
| 관계가 없는 데이터 포함 | 아직 데이터를 입력하지 않은 항목을 함께 조회해야 할 때 |
| 데이터 비교 및 검증 | 시스템 이전, 데이터 검증 등에서 차이를 찾아야 할 때 |
| 보고서 및 통계 | 판매되지 않은 제품, 사용되지 않은 리소스 등을 포함해야 할 때 |
OUTER JOIN이 필수적INNER JOIN을 사용하면 데이터가 빠질 수 있는 경우 → OUTER JOIN으로 해결OUTER JOIN이 반드시 필요함 🚀