[오라클]/SQL

decode

broship 2020. 12. 26. 13:17

decode: 다항연산자(대상 칼럼, 조건, yes처리, no처리)

 

Q) 사원 직책에 따라 급여를 인상 지급하고자 한다. 직책에 'Manager'가 포함된 사원은 급여를 인상하여 1.1를 지급하고  나머지 직원들에 대해서는 1.5를 지급하고자 한다. 이 경우 이름, 직책, 인상된 급여를 조회 출력하시오

SELECT e.first_name 이름, j.job_title 직책, e.salary 급여, decode(substr(j.job_title,-7),'Manager',e.salary*1.1,e.salary*1.5) 인상된급여
FROM jobs j, employees e
WHERE e.job_id=j.job_id;
--substr(j.job_title,-7) : 뒤에서부터 7글자

 

조건을 계속 추가할 수 있음

Q) 만일 job_id가 'AD'로 시작하면 10%, 'FI'로 시작하면 17%, 'PU'로 시작하면 25% 인상하여 조회출력

SELECT e.first_name 이름, j.job_id 직책, e.salary 급여, 
decode(substr(j.job_id,1,2),'AD',e.salary*1.1,
                            'FI',e.salary*1.7,
                            'PU',e.salary*1.25,
                                 e.salary) 인상된급여
FROM jobs j, employees e
WHERE e.job_id=j.job_id;

 

 

 

'[오라클] > SQL' 카테고리의 다른 글

view  (0) 2020.12.26
제약조건  (0) 2020.12.26
dictionary  (0) 2020.12.26
SAVEPOINT  (0) 2020.12.26
유저 생성 및 권한  (0) 2020.12.26