--일반함수
--관리자가 없는 사원을 출력하시오
SELECT *
FROM EMPLOYEES
WHERE manager_id IS NULL;
--관리자가 있는 사원들은 사번, 이름, 관리자번호, '관리자있음'을 출력하고
--없는 사원들은 사번, 이름, 관리자번호, '관리자없음'을 출력하시오.
SELECT employee_id, first_name, manager_id ,NVL2(manager_id, '관리자있음', '관리자없음')
FROM employees;
--관리자가 있는 사원들은 사번, 이름, 관리자번호를 출력하고
--없는 사원들은 사번, 이름, 관리자없음을 출력하시오.
SELECT employee_id, first_name,
-- * NVL2(manager_id, TO_CHAR(manager_id), '관리자없음')4
-- * CASE NVL(manager_id, -1) WHEN -1 THEN '관리자없음'
-- ELSE TO_CHAR(manager_id) --반환값은 타입이 같아야하므로 같은 타입으로 맞춰준다.
-- END
DECODE(manager_id, null, '관리자없음', manager_id) -- IS NULL로 알아서 비교하고 형변환도 자동으로 해줌.
FROM employees;
SELECT DISTINCT salary FROM employees ORDER BY salary DESC;
--급여가 10000 이상인 경우 "A", 5000 이상이면 "B", 5000 미만이면 "C"
SELECT employee_id, salary, CASE WHEN salary >=10000 THEN 'A'
WHEN salary >=5000 THEN 'B'
ELSE 'C' END 급여등급
FROM employees;
SELECT employee_id, salary
, DECODE(TRUNC(salary/5000, 0), 0, 'C'
, 1, 'B'
, 'A')
FROM employees;
최근댓글
최근글
인기글
skin by © 2024 ttuttak