Menu
Coddy logo textTech

CASE WHEN 구문

Coddy SQL 여정의 심화 과정 섹션에 포함된 레슨 — 27개 중 1번째.

CASE 표현식은 SQL의 if/else if/else와 같습니다. SELECT (또는 ORDER BY, WHERE) 내부에 위치하며 행마다 값을 생성합니다.

SELECT name,
       CASE
           WHEN score >= 90 THEN 'A'
           WHEN score >= 75 THEN 'B'
           WHEN score >= 60 THEN 'C'
           ELSE 'F'
       END AS grade
FROM students

WHEN은 위에서 아래로 확인하며, 첫 번째로 일치하는 조건이 적용됩니다. ELSE는 선택 사항입니다. ELSE가 없으면 일치하지 않는 행은 NULL을 갖게 됩니다.

항상 END로 끝내고 AS를 사용하여 컬럼에 이름을 부여하세요.

challenge icon

챌린지

쉬움

사용 가능한 테이블 및 열:

  • <strong>employees</strong>: <strong>id</strong>, <strong>name</strong>, <strong>department</strong>, <strong>salary</strong>

각 직원별로 name, department, 그리고 다음과 같이 작성된 tier 열을 반환하세요:

  • salary >= 150000일 때 'partner' (부서 상관없이)
  • department = 'eng'이고 salary >= 100000일 때 'senior'
  • salary >= 60000일 때 'mid'
  • 그 외의 경우 'entry'

salary 내림차순으로 정렬하세요. WHEN 조건절의 순서가 중요하다는 점에 유의하세요. 가장 먼저 일치하는 조건이 적용됩니다.

직접 해보기

SELECT name, department,
       -- salary와 department를 혼합하는 여러 WHEN 분기가 있는 tier
FROM employees
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

심화 과정의 모든 레슨