학습 자료

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 표현식은 매우 유용합니다.

Quiz
0 / 1

CASE 식을 사용하여 SQL 쿼리에 조건부 로직을 어떻게 추가할 수 있나요?

SQL 쿼리에서 CASE 식은 에 따라 서로 다른 값을 반환할 수 있게 해줍니다.
열 이름
조건
데이터 타입
테이블 이름

학습 자료

AI 튜터

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

DB 테이블 구조

실행 결과