
MSSQL의 CASE문은 조건에 따라 다른 결과를 반환하는 조건식입니다. 이를 통해 데이터 변환, 데이터 처리, 조건부 쿼리 등 다양한 상황에서 유용하게 사용할 수 있습니다.
1. 데이터 변환
데이터베이스에서 가져온 데이터를 다른 형식으로 변환해야 하는 경우, CASE문을 사용할 수 있습니다. 예를 들어, gender 열이 M 또는 F와 같은 문자열 값을 가지는 경우, 이를 Male 또는 Female과 같은 값을 가지는 새로운 열로 변환할 수 있습니다.
SELECT
CASE gender
WHEN 'M' THEN 'Male'
WHEN 'F' THEN 'Female'
ELSE 'Unknown'
END AS gender_label
FROM employees;
위의 구문은 gender 열의 값이 M이면 Male, F이면 Female, 그 외에는 Unknown으로 변환하는 예제입니다.
2. 데이터 처리
데이터 처리에 CASE문을 사용할 수도 있습니다. 예를 들어, age 열의 값에 따라 다른 처리를 해야 하는 경우, CASE문을 사용하여 처리할 수 있습니다.
SELECT
CASE
WHEN age >= 60 THEN 'Senior'
WHEN age >= 30 THEN 'Middle-aged'
ELSE 'Young'
END AS age_group,
COUNT(*) AS count
FROM employees
GROUP BY
CASE
WHEN age >= 60 THEN 'Senior'
WHEN age >= 30 THEN 'Middle-aged'
ELSE 'Young'
END;
위의 구문은 employees 테이블에서 age 열의 값에 따라 Young, Middle-aged, Senior의 그룹으로 분류한 후 각 그룹에 해당하는 데이터의 수를 반환하는 예제입니다.
3. 조건부 쿼리
조건부 쿼리에 CASE문을 사용할 수 있습니다. 예를 들어, sales 열이 50000 이상인 고객의 이름을 반환하는 쿼리를 작성할 수 있습니다.
SELECT
CASE
WHEN sales >= 50000 THEN name
ELSE NULL
END AS customer_name
FROM customers;
위의 구문은 customers 테이블에서 sales 열의 값이 50000 이상인 고객의 이름을 반환하는 예제입니다.
위와 같이 CASE문은 데이터 변환, 데이터 처리, 조건부 쿼리 등 다양한 상황에서 사용할 수 있으며, SQL의 유연성과 강력한 기능을 제공합니다.
댓글