728x90
반응형
CASE 조건 WHEN 결과1 THEN 출력1
[WHEN 결과2 THEN 출력2]
ELSE 출력3
END “컬럼명”
EX01
Student 테이블을 참조하여 deptno1 이 201 번인 학생의 이름과 전화번호, 지역 명을 출력하세요. 단 지역번호가 02 면 "SEOUL", 031 이면 "GYEONGGI", 051 이면 "BUSAN", 052 이면 "ULSAN", 055 이면 "GYEONGNAM", 나머지는 "ETC" 로 표시하세요.
EX02
Student 테이블의 jumin 컬럼을 참조하여 학생들의 이름과 태어난 달 , 그리고 분기를 출력하세요.
태어난 달이 01-03월 은 1/4, 04 – 06월 은 2/4 , 07 – 09 월 은 3/4 , 10 – 12 월은 4/4 로 출력하세요.
SELECT name, SUBSTR(jumin, 3, 2) "MONTH",
CASE WHEN SUBSTR(jumin, 3, 2) BETWEEN '01' AND '03' THEN '1/4'
WHEN SUBSTR(jumin, 3, 2) BETWEEN '04' AND '06' THEN '2/4'
WHEN SUBSTR(jumin, 3, 2) BETWEEN '07' AND '09' THEN '3/4'
WHEN SUBSTR(jumin, 3, 2) BETWEEN '10' AND '12' THEN '4/4'
END "Quarter"
FROM student;
EX03
emp 테이블을 조회하여 empno , ename , sal , LEVEL(급여등급)을 아래와 같이 출력하세요.
단 급여등급은 sal 을 기준으로 1 - 1000 이면 Level 1 , 1001 - 2000 이면 Level 2 , 2001 - 3000 이면 Level 3 , 3001 - 4000 이면 Level 4 , 4001 보다 많으면 Level 5 로 출력하세요.
SELECT empno, ename, sal,
CASE WHEN sal BETWEEN 1 AND 1000 THEN 'Level 1'
WHEN sal BETWEEN 1001 AND 2000 THEN 'Level 2'
WHEN sal BETWEEN 2001 AND 3000 THEN 'Level 3'
WHEN sal BETWEEN 3001 AND 4000 THEN 'Level 4'
WHEN sal > 4001 THEN 'Level 5'
END "LEVEL"
FROM emp
ORDER BY sal DESC;
728x90
반응형
'Database' 카테고리의 다른 글
[Oracle] SQL 복수행 함수 - GROUP 함수 (0) | 2022.11.08 |
---|---|
[Oracle] REGEXP_LIKE() (0) | 2022.11.07 |
[Oracle] DECODE( ) 연습문제 (0) | 2022.11.07 |
[Oracle] DECODE( ) (0) | 2022.11.07 |
[Oracle] NVL( ) (0) | 2022.11.07 |
댓글