학습 자료

CASE 표현식

CASE 표현식을 사용하면 SQL 쿼리에 조건부 로직을 추가할 수 있습니다.

프로그래밍에서 ifswitch 문을 쓰는 것과 비슷합니다. 조건에 따라 서로 다른 값을 반환할 수 있습니다.


문법

CASE를 사용해 SQL 쿼리에 조건부 로직을 추가할 수 있습니다.

CASE 문법
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END

CASESELECT, ORDER BY, WHERE, 심지어 윈도 함수 내부에서도 사용할 수 있습니다.


예시: 코스 진행 상태

코드프렌즈 데이터셋을 사용해, 코스 진행 정도에 따라 사용자를 분류해 보겠습니다.

course_progress

user_idcourse_nameprogress_percent
1SQL Basics100
2SQL Basics85
3SQL Basics70
4SQL Basics55
5SQL Basics30

CASE를 사용해 각 사용자에게 레이블을 붙일 수 있습니다.

코스 완료 상태 지정
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

CASE 사용 방법

CASE를 사용하면 규칙에 따라 데이터를 분류하거나 라벨링하고, 조건에 따라 값을 치환하며, 별도의 코드를 작성하지 않고도 쿼리 안에 직접 로직을 넣을 수 있습니다.

특히 보고서, 대시보드, 분석 작업에서 유용합니다.

Quiz
0 / 1

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

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

학습 자료

AI 튜터

디자인

업로드

수업 노트

즐겨찾기

도움말

코드 에디터

코드 실행
코드 생성

DB 테이블 구조

실행 결과