CASE 표현식
CASE
표현식은 SQL 쿼리에 조건부 로직을 추가할 때 사용됩니다.
프로그래밍에서 if
또는 switch
문처럼 조건에 따라 다른 값을 반환할 수 있어 데이터 분류와 가공에 유용합니다.
문법
CASE 문법
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
WHEN
뒤에 조건을 작성하고, 조건이 참이면 해당THEN
값이 반환됩니다.- 조건을 만족하지 않으면
ELSE
뒤의 값이 반환됩니다. ELSE
는 선택 사항이며 생략할 수 있습니다.
CASE
는 SELECT
, ORDER BY
, WHERE
등 다양한 절에서 사용할 수 있습니다.
예시: 강의 진행 상태 분류
다음은 학습자의 강의 진행률에 따라 상태를 분류하는 예시입니다.
course_progress
user_id | course_name | progress_percent |
---|---|---|
1 | SQL Basics | 100 |
2 | SQL Basics | 85 |
3 | SQL Basics | 70 |
4 | SQL Basics | 55 |
5 | SQL Basics | 30 |
진행 상태 지정
SELECT user_id, course_name, progress_percent, CASE WHEN progress_percent = 100 THEN 'Completed' WHEN progress_percent >= 75 THEN 'Almost done' WHEN progress_percent >= 50 THEN 'Halfway' ELSE 'Just started' END AS completion_status FROM course_progress;
결과
user_id | course_name | progress_percent | completion_status |
---|---|---|---|
1 | SQL Basics | 100 | Completed |
2 | SQL Basics | 85 | Almost done |
3 | SQL Basics | 70 | Halfway |
4 | SQL Basics | 55 | Halfway |
5 | SQL Basics | 30 | Just started |
활용 예시
- 규칙에 따라 데이터를 분류하거나 라벨링할 때
- 조건에 따라 값을 변환하거나 치환할 때
- 별도의 프로그래밍 로직 없이 SQL 쿼리에서 조건 처리를 수행할 때
보고서, 대시보드, 데이터 분석에서 CASE
표현식은 매우 유용합니다.
Quiz
0 / 1
CASE 식을 사용하여 SQL 쿼리에 조건부 로직을 어떻게 추가할 수 있나요?
SQL 쿼리에서 CASE 식은 에 따라 서로 다른 값을 반환할 수 있게 해줍니다.
열 이름
조건
데이터 타입
테이블 이름
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
DB 테이블 구조
실행 결과