DataBase/ORACLE_SQL
SQL- 선택함수 (단일 행 함수)
규율 위에 자유
2023. 6. 27. 22:59
1.DECODE(비교하고자 하는 대상(컬럼 |산술 연산 |합수식)), 비교값1,결과값1, 비교값2,결과값2,...)
동등비교만 가능하다
EX)
SELECT EMP_NAME,JOB_CODE,SALARY,
DECODE(JOB_CODE,'J7', SALARY*1.1,
'J6',SALARY*1.15,
'J5',SALARY*1.2,
SALARY * 1.05) AS "인상된급여"
FROM EMPLOYEE;
예제)
직원의 급여 조회시 각 직급별로 인상해서 조회
J7인 사원은 급여를 10% 인상 (SALARY * 1.1)
J6인 사원은 급여를 15% 인상 (SALARY * 1.15)
J5인 사원은 급여를 20% 인상 (SALARY * 1.2)
그 외의 사원은 급여를 5% 인상(SALARY * 1.05)
J7인 사원은 급여를 10% 인상 (SALARY * 1.1)
J6인 사원은 급여를 15% 인상 (SALARY * 1.15)
J5인 사원은 급여를 20% 인상 (SALARY * 1.2)
그 외의 사원은 급여를 5% 인상(SALARY * 1.05)
2.CASE WHEN THEN
CASE WHEN 조건식1 THEN 결과값1
CASE WHEN 조건식2 THEN 결과값2
...
ELSE 결과값N
END
자바에서의 IF-ELSE IF -ELSE 문
EX)
SELECT EMP_NAME,SALARY,
CASE WHEN SALARY >= 5000000 THEN '고급 개발자'
WHEN SALARY >= 3500000 THEN '중급 개발자'
ELSE '초급'
END AS "레벨"
FROM EMPLOYEE;
