[sql] JOIN 결과에 CASE 문 사용하기
1. INNER JOIN과 CASE 문
INNER JOIN을 사용하여 두 테이블을 결합하고 해당 결과에 CASE 문을 추가할 수 있습니다. 예를 들어, 다음과 같이 두 테이블을 INNER JOIN하고 CASE 문을 사용할 수 있습니다.
SELECT orders.order_id, orders.customer_id,
CASE
WHEN customers.country = 'USA' THEN 'Domestic'
ELSE 'International'
END AS customer_type
FROM orders
INNER JOIN customers ON orders.customer_id = customers.customer_id;
위의 예제에서는 orders
테이블과 customers
테이블을 INNER JOIN하고, customers
테이블의 국가가 ‘USA’인 경우에는 ‘Domestic’, 그렇지 않은 경우에는 ‘International’을 표시하는 CASE 문을 추가했습니다.
2. LEFT JOIN과 CASE 문
또 다른 예로, LEFT JOIN과 CASE 문을 결합하는 방법을 살펴보겠습니다. 다음 쿼리는 ‘customers’ 테이블과 ‘orders’ 테이블을 LEFT JOIN한 뒤, 주문이 있는 고객과 주문이 없는 고객을 구분하기 위해 CASE 문을 사용합니다.
SELECT customers.customer_id, customers.customer_name,
CASE
WHEN orders.order_id IS NOT NULL THEN 'Has orders'
ELSE 'No orders'
END AS order_status
FROM customers
LEFT JOIN orders ON customers.customer_id = orders.customer_id;
위의 예제에서는 고객과 그들의 주문 상태를 구분하기 위해 LEFT JOIN과 CASE 문을 사용했습니다.
SQL에서 JOIN 결과에 CASE 문을 사용하는 방법에 대해 간단히 살펴보았습니다. 이것이 여러분께 도움이 되었기를 바랍니다. 감사합니다!