power-girl0-0

[ Oracle DB ] case와 decode 예제 문제 본문

언어/Database

[ Oracle DB ] case와 decode 예제 문제

power-girl0-0 2021. 3. 24. 13:04
728x90

문제 1. sal + sal * comm이 1000000이상이면, 'good' 5000 이상이면, 'average', 1이상 5000미만이면 'bad'

          0이면 no good 로 평가하고  empno, ename, sal, comm, sal+sal*comm,평가를 출력해라.

select empno,ename, sal,sal,comm, sal+sal*nvl(comm,0) as 지급금액, 
        case  
        when sal+sal*nvl(comm,0)>=1000000 then 'good' 
        when (sal+sal*nvl(comm,0)>=5000) then 'average' 
        when sal+sal*nvl(comm,0)>=1 and 
             sal+sal*nvl(comm,0)<5000 --같은 구문 sal+sal*nvl(comm,0) between 1 and 5000 then 
             then 'bad' 
        when sal+sal*nvl(comm,0)=0 then 'no good' 
        end as 평가 
from emp;


문제 2. 매니저가 없는 사원만 매니저 번호에 'not exists'가 찍히도록 empno,ename,mgr을 출력해라

select empno,ename, decode(mgr, null, 'not exist',mgr) from emp;

 

 

 

 

728x90
Comments