[CASE] 종류/ END AS

dragonloly·2025년 4월 12일

SQL

목록 보기
5/19

1. 단순 CASE" (simple CASE) 형식

CASE 표현식
    WHEN 값1 THEN 결과1
    WHEN 값2 THEN 결과2
    ...
    ELSE 기본값
END
CASE G.GRADE
    WHEN 'S' THEN 연봉 * 0.2
    WHEN 'A' THEN 연봉 * 0.15
    WHEN 'B' THEN 연봉 * 0.1
    ELSE 0
END

→ 여기서는 G.GRADE가 'S', 'A', 'B' 중 어떤 값이냐에 따라 보너스를 계산

2. 검색 CASE" (searched CASE) 형식

CASE
    WHEN 조건1 THEN 결과1
    WHEN 조건2 THEN 결과2
    ...
    ELSE 기본값
END
CASE
    WHEN AVG_SCORE >= 96 THEN 'S'
    WHEN AVG_SCORE >= 90 THEN 'A'
    WHEN AVG_SCORE >= 80 THEN 'B'
    ELSE 'C'
END

3. END AS

END AS 컬럼명 → 별칭(alias)
안 써도 작동은 하지만, 쓰는 게 실무에서 기본
왜냐하면:
1.SELECT절에 표현식으로 나오는 값에 이름을 붙이지 않으면, 결과 테이블에 컬럼명이 안 예쁘게 나옴
2.읽고 이해하기도 어려움

SELECT
    EMP_NO,
    EMP_NAME,
    CASE
        WHEN AVG_SCORE >= 96 THEN 'S'
        WHEN AVG_SCORE >= 90 THEN 'A'
        ...
    END AS GRADE
FROM ...;
profile
코드 기록하기 : )

0개의 댓글