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를 사용하여 컬럼에 이름을 부여하세요.
챌린지
쉬움사용 가능한 테이블 및 열:
<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
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.