31. CASE
1. CASE
Statement
CASE
문은 조건을 통과하여if-then-else
명령문 등의 첫 번째 조건을 충족하는 값을 반환한다.- 따라서 조건이 참이면 읽기를 중지하고 결과를 반환하고, 조건이 참이 아니면
ELSE
절의 값을 반환한다. - 만약
ELSE
부분에서 해당하지 않는 조건인 경우NULL
을 반환한다.
2. Syntax
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
Demo Database
- 다음은 Northwind 샘플 데이터베이스의
OrderDetails
테이블이다.
3. CASE
Examples
- 다음은 조건을 통과하여 첫 번째 조건이 충족될 때 값을 반환한다.
SELECT OrderID, Quantity,
CASE
WHEN Quantity > 30 THEN 'The quantity is greater than 30'
WHEN Quantity = 30 THEN 'The quantity is 30'
ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;
- 다음은
City
별로 고객을 정렬하는데, 만약City
가NULL
이라면 국가별로 정렬한다.
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);