[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 문을 사용하는 방법에 대해 간단히 살펴보았습니다. 이것이 여러분께 도움이 되었기를 바랍니다. 감사합니다!