Menu
Coddy logo textTech

ORDER BY에서의 CASE 활용

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

CASESELECT만을 위한 것이 아닙니다. 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와 동일합니다. 더 깔끔하게 읽히는 쪽을 사용하세요.

challenge icon

챌린지

쉬움

사용 가능한 테이블 및 컬럼:

  • <strong>tasks</strong>: <strong>id</strong>, <strong>title</strong>, <strong>priority</strong>

titlepriority를 반환하되, 'critical'이 가장 먼저 오고, 그다음 'high', 'low' 순서로 정렬하며 그 외의 값은 마지막에 오도록 하세요. 동일한 우선순위 내에서는 title을 기준으로 알파벳 순으로 정렬하세요.

치트 시트

사용자 정의 규칙에 따라 정렬하려면 ORDER BY 내부에서 CASE를 사용하세요:

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 ...CASE WHEN column = value THEN ...과 동일합니다.

직접 해보기

SELECT title, priority
FROM tasks
ORDER BY
    -- ...
quiz icon실력 점검

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

심화 과정의 모든 레슨