반응형
중첩된 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;
반응형
'Server > Oracle' 카테고리의 다른 글
[Oracle] ORA-01799: a column may not be outer-joined to a subquery (0) | 2024.03.01 |
---|---|
[Oracle] PL/SQL 프로시저 함수들 / DBMS_LOCK.SLEEP(), IF..ELSE.., WHILE LOOP (0) | 2024.01.19 |
[Oracle12C] User 삭제 시 ORA-28014, 그리고 USER 생성 시 ORA-65096 뜰 때 (0) | 2019.12.09 |
[ORACLE] 세션 KILL 명령어 / ORA-00054: 자원이 사용중이고, NOWAIT가 지정되어 있습니다. (0) | 2019.11.27 |
[Oracle] MyBatis / foreach 사용하여 list 내용 추출하기 (0) | 2018.11.29 |