본문 바로가기

Study/OracleDB

15강 오라클 SQL 조건식

728x90

-- 07. 선택을 위한 DECODE 함수
-- 프로그램 언어에서 가장 많이 사용되는 switch case문과 같은 기능을 갖습니다.
-- 부서번호에 해당되는 부서명을 구하는 예제를 CASE 함수를 사용하여 작성.
select ename, deptno,
decode (deptno, 10, 'accounting', 20, 'reserarch', 30, 'sales',40, 'operations') 
as dname
-- 이것에 대한 이름은 dname이다.
from emp;

--8. 직급에 따라 급여를 인상하도록 하자. 직급이 'ANAIYST'인 사원은 5%, 
--'SALEAMAN'인 사원은 10%, 'MANAGER'인 사원은 15%, 'CLERK'인 사원
--은 20%를 인상한다.
select ename, job, sal,
decode( job, 'ANALYST', sal*1.05,
'SALESMAN', sal*1,1,
'MANAGER', sal*1.15,
'CLERK', sal*1.20) as salinc
from emp;

-- 08. 조건에 따라 서로 다른 처리가 가능한 CASE 함수
-- 부서번호에 해당되는 부서명을 구하는 예제를 이번에는 CASE 함수를 사용하여 작성해보기.
select ename, deptno,
case 
when deptno=10 then 'ACCOUNTING'
when deptno=20 then 'RESEARCH'
when deptno=30 then 'SALES'
when deptno=40 then 'OPERATIONS'
end
as dname
from emp;

select ename, sal,
case 
when sal >= 1000 then '1000이상'
else '1000이하'
end
as salcase
from emp;



반응형