ORDER BY에서의 CASE 활용
Coddy SQL 여정의 심화 과정 섹션에 포함된 레슨. 27개 중 2번째.
CASE는 SELECT문에서만 사용되는 것이 아닙니다. 컬럼만으로는 표현할 수 없는 사용자 지정 규칙으로 rows를 정렬하기 위해 ORDER BY 절 내부에 작성할 수 있습니다.
SELECT name, status
FROM tickets
ORDER BY
CASE status
WHEN 'urgent' THEN 1
WHEN 'high' THEN 2
WHEN 'normal' THEN 3
ELSE 4
END더 짧은 형식을 확인하세요: CASE column WHEN value THEN .... 이는 WHEN column = value와 동일합니다. 더 읽기 쉬운 쪽을 사용하세요.
챌린지
쉬움사용 가능한 테이블 및 열:
<strong>tasks</strong>:<strong>id</strong>,<strong>title</strong>,<strong>priority</strong>
title 및 priority를 반환하며, 'critical'이 가장 먼저 오고, 그 다음 'high', 그 다음 'low', 나머지는 마지막에 오도록 정렬하세요. 동일한 priority 내에서는 title 기준 알파벳순으로 정렬하세요.
직접 해보기
SELECT title, priority
FROM tasks
ORDER BY
-- 아래의 플레이스홀더 정렬을 CASE 표현식으로 교체하세요. 이 표현식은
-- 작업에서 설명한 방식으로 행의 순위를 매기고, 동점은 알파벳순으로 끊습니다
id
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
심화 과정의 모든 레슨
직접 연습해 보세요: SQL 플레이그라운드