본문 바로가기
Server/Oracle

[Oracle] 중첩된 case문 / 오라클

by 뒹굴거리는프로도 2024. 1. 5.
반응형

 


중첩된 CASE문

 

중첩된 case 문을 사용하여 복잡한 조건을 계층적으로 구성할 수 있습니다.

복잡한 비즈니스 로직을 명확하게 표현할 수 있는 장점과 더불어

나중에 로직이 변경될 때 유지 보수를 간편하게 할 수 있다는 장점도 있습니다.

 

 


중첩된 case문 예시


  • 성적이 90점 이상이면:
    출석률이 90% 이상이면 '우수', 그렇지 않으면 '양호'
  • 성적이 70점 이상 90점 미만이면:
    출석률이 80% 이상이면 '양호', 그렇지 않으면 '보통', 그 외의 경우는 '미흡'
SELECT
    student_id,
    name,
    score,
    attendance,
    CASE 
        WHEN score >= 90 THEN
            CASE 
                WHEN attendance >= 90 THEN '우수'
                ELSE '양호'
            END
        WHEN score >= 70 THEN
            CASE 
                WHEN attendance >= 80 THEN '양호'
                ELSE '보통'
            END
        ELSE '미흡'
    END AS evaluation
FROM
    students;

 

 


반응형