본문으로 건너뛰기
실습하기

CASE 표현식

CASE 표현식은 SQL 쿼리에 조건부 로직을 추가할 때 사용됩니다.

프로그래밍에서 if 또는 switch 문처럼 조건에 따라 다른 값을 반환할 수 있어 데이터 분류와 가공에 유용합니다.


문법

CASE 문법
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
  • WHEN 뒤에 조건을 작성하고, 조건이 참이면 해당 THEN 값이 반환됩니다.
  • 조건을 만족하지 않으면 ELSE 뒤의 값이 반환됩니다.
  • ELSE는 선택 사항이며 생략할 수 있습니다.

CASESELECT, ORDER BY, WHERE 등 다양한 절에서 사용할 수 있습니다.


예시: 강의 진행 상태 분류

다음은 학습자의 강의 진행률에 따라 상태를 분류하는 예시입니다.

course_progress

user_idcourse_nameprogress_percent
1SQL Basics100
2SQL Basics85
3SQL Basics70
4SQL Basics55
5SQL Basics30
진행 상태 지정
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_idcourse_nameprogress_percentcompletion_status
1SQL Basics100Completed
2SQL Basics85Almost done
3SQL Basics70Halfway
4SQL Basics55Halfway
5SQL Basics30Just started

활용 예시

  • 규칙에 따라 데이터를 분류하거나 라벨링할 때
  • 조건에 따라 값을 변환하거나 치환할 때
  • 별도의 프로그래밍 로직 없이 SQL 쿼리에서 조건 처리를 수행할 때

보고서, 대시보드, 데이터 분석에서 CASE 표현식은 매우 유용합니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!