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 |