CASE 표현식
CASE
표현식을 사용하면 SQL 쿼리에 조건부 로직을 추가할 수 있습니다.
프로그래밍에서 if
나 switch
문을 쓰는 것과 비슷합니다. 조건에 따라 서로 다른 값을 반환할 수 있습니다.
문법
CASE
를 사용해 SQL 쿼리에 조건부 로직을 추가할 수 있습니다.
CASE 문법
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
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 |
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_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 |
CASE 사용 방법
CASE
를 사용하면 규칙에 따라 데이터를 분류하거나 라벨링하고, 조건에 따라 값을 치환하며, 별도의 코드를 작성하지 않고도 쿼리 안에 직접 로직을 넣을 수 있습니다.
특히 보고서, 대시보드, 분석 작업에서 유용합니다.
Quiz
0 / 1
CASE 식을 사용하여 SQL 쿼리에 조건부 로직을 어떻게 추가할 수 있나요?
SQL 쿼리에서 CASE 식은 에 따라 서로 다른 값을 반환할 수 있게 해줍니다.
열 이름
조건
데이터 타입
테이블 이름
학습 자료
AI 튜터
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
DB 테이블 구조
실행 결과