[SQL] NULL(NVL)함수 예제

정은아·2022년 8월 26일
0

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는 폭 설정이라고 생각하자
profile
꾸준함의 가치를 믿는 개발자

0개의 댓글