Q. 커미션을 받지 않은 사원의 월급을 1500원 인상해 지급하고
comm 컬럼에 인상된 금액을 표시하세요 단, 숫자0은 받는 걸로 취급한다.
select ename 이름,sal 월급, NVL(comm,sal+1500)
from emp where comm is null;
select ename,sal,comm,nvl(comm,1500)"인상 금액" , NVL(comm,sal+1500) "인상된 월급"
from emp where comm is null;
//NVL(comm,sal+1500)처럼 null값 대신 출력하는 값이 꼭 0이 아니어도 된다.
Q. 09월에 입사한 사원의 comm을 2000 추가하여 월급을 산출하세요. sal+comm값이 나오도록 쿼리를 만드시오
select ename, hiredate,sal,comm,sal+NVL(comm,0)+2000 as "인상된 월급" from emp where substr(hiredate,4,2)='09';
//sal+NVL(comm,0)+2000 : 널값이 있다면 0으로 만들고 2000원을 더하자~~
Q. emp 테이블에서 상관이 없는 사원만 출력하되 MGR 컬럼에 null 대신 'CEO'라고 출력되도록 하세요
select empno, ename,sal,NVL(to_char(mgr,'9999'),'CEO') mgr
from emp where mgr is null ;
//to_char(mgr,'9999')=> 9999는 폭 설정이라고 생각하자