Tags
- ORM
- Django
- DB
- 통계학
- stack
- 완전검색
- delete
- Vue
- 트리
- Tree
- 쟝고
- SQL
- Queue
- Article & User
- outer join
- 큐
- M:N
- create
- regexp
- 백트래킹
- drf
- distinct
- N:1
- 뷰
- migrations
- count
- 그리디
- update
- 스택
- 이진트리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Notice
Recent Posts
Link
데이터 분석 기술 블로그
CASE - END 문 본문
CASE 문이란?
"CASE" 문은 조건에 따라 다른 값을 반환하거나, 특정 로직을 수행할 때 사용하는 제어 흐름 구문입니다. CASE는 SQL의 조건문(if-else)과 유사하며, SELECT, WHERE, ORDER BY, GROUP BY 등 다양한 구문에서 사용할 수 있습니다.
CASE 문 기본 구문
1. 단순 CASE 문 (Simple CASE Statement)
- 특정 값과 비교하여 조건을 평가합니다.
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE default_result
END
2. 검색 CASE 문 (Searched CASE Statement)
- 조건식을 사용하여 조건을 평가합니다.
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
- WHEN: 조건 또는 비교 대상.
- THEN: 조건이 참일 때 반환할 값.
- ELSE: 모든 조건이 거짓일 경우 반환할 기본값(생략 가능).
- END: CASE 문 종료.
예제
SELECT employee_id,
job_title,
CASE job_title
WHEN 'Manager' THEN 80000
WHEN 'Developer' THEN 60000
WHEN 'Analyst' THEN 50000
ELSE 40000
END AS salary
FROM Employees;
SELECT sales_id,
total_sales,
CASE
WHEN total_sales >= 2000 THEN 'High'
WHEN total_sales >= 1000 THEN 'Medium'
ELSE 'Low'
END AS sales_grade
FROM Sales;
활용 예제
1. SELECT 절에서 사용
SELECT employee_id,
CASE
WHEN salary > 50000 THEN 'High Income'
ELSE 'Low Income'
END AS income_level
FROM Employees;
2. ORDER BY 절에서 사용
- 조건에 따라 정렬 순서를 변경할 수 있습니다.
SELECT employee_id, job_title
FROM Employees
ORDER BY CASE
WHEN job_title = 'Manager' THEN 1
WHEN job_title = 'Developer' THEN 2
ELSE 3
END;
3. WHERE 절에서 사용
- 특정 조건에 따라 데이터를 필터링합니다.
SELECT *
FROM Sales
WHERE CASE
WHEN total_sales > 1000 THEN 1
ELSE 0
END = 1;
4. GROUP BY 절에서 사용
- 특정 조건에 따라 데이터를 그룹화합니다.
SELECT
CASE
WHEN total_sales >= 2000 THEN 'High'
ELSE 'Low'
END AS sales_category,
COUNT(*)
FROM Sales
GROUP BY CASE
WHEN total_sales >= 2000 THEN 'High'
ELSE 'Low'
END;
'SQL > 개념' 카테고리의 다른 글
SUBSTRING 함수 (0) | 2024.11.10 |
---|---|
COUNT 함수 (0) | 2024.11.09 |
CONCAT 함수 (0) | 2024.11.07 |
ROUND 함수 (0) | 2024.11.06 |
VARIANCE 함수 (0) | 2024.11.05 |