728x90
SQL CASE
SQL CASE는 조건을 거치고 첫 번째 조건이 충족되면 값을 반환합니다(예: if-then-else 문). 따라서 조건이 참이면 읽기를 중지하고 결과를 반환합니다. 참인 조건이 없으면 ELSE 절의 값을 반환합니다. ELSE 부분이 없고 참인 조건이 없으면 NULL을 반환합니다.
SQL CASE 기본예제
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
SQL CASE 실습하기
다음은 Northwind 샘플 데이터베이스의 "OrderDetails" 테이블에서 선택한 항목입니다.
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
다음 SQL은 조건을 살펴보고 첫 번째 조건이 충족되면 값을 반환합니다.
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;
다음 SQL문은 CITY 오름차순으로 정렬하지만 CITY의 값이 NULL인 경우 Country 오름차순 반환
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);
728x90
'탐구생활 > SQL 탐구생활' 카테고리의 다른 글
SQL 기초 구문 배우기(SQL EXISTS) (0) | 2023.05.31 |
---|---|
SQL 기초 구문 배우기(SQL HAVING) (6) | 2023.05.26 |
SQL 기초 구문 배우기(SQL GROUP BY) (38) | 2023.05.22 |
SQL 기초 구문 배우기(SQL Joins, SQL UNION) (30) | 2023.05.16 |
SQL 기초 구문 배우기(IN, BETWEEN, Aliases(AS)) (0) | 2023.05.12 |
댓글