control Y

[오라클] 단일행 함수 관련 과제 본문

KH정보교육원/SQL

[오라클] 단일행 함수 관련 과제

ControlY 2023. 6. 19. 15:33

문제1)

각 사원의 성(last_name)이 ‘s’로 끝나는 사원의 이름(이름 성순으로)과 업무를 아래의 예와 같이 출력하고자 한다.

출력 시 성과 이름은 첫 글자가 대문자, 업무는 모두 소문자로 출력하고 머리글은 Employee JOBs로 표시하시오.

[출력형식]

Shelley Higgins is a ac_mgr

select INITCAP(first_name ||' '|| last_name)||lower(job_id) EmployeeJOBs
from employees;

 

 

문제2)

EMPLOYEES Table에서 이름, 급여, 커미션 금액, 총액(급여 + 커미션)을 구하여 총액이 많은 순서로 출력하라.

단, 커미션이 NULL인 사람은 제외한다.

select first_name 이름, salary 급여, commission_pct 커미션_금액, salary+(salary*commission_pct) 총액
from employees
where commission_pct is not null;

 

 

문제3)

이번 분기에 60번 IT 부서에서는 신규 프로그램을 개발하고 보급하여 회사에 공헌하였다.

이에 해당 부서의 사원 급여를 12.3% 인상하기로 하였다. 60번 IT 부서 사원의 급여를 12.3% 인상하여 정수만(반올림) 표시하는 보고서를 작성하시오.

출력 형식은 사번, 이름과 성(Name으로 별칭), 급여, 인상된 급여(Increased Salary로 별칭)순으로 출력한다

SELECT EMPLOYEE_ID 사번, FIRST_NAME||LAST_NAME Name, salary 급여, ROUND(salary+(salary*0.123)) Increased_Salary
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 60;

 

 

문제4)

급여가 $1,500부터 $3,000 사이의 사람은 급여의 15%를 회비로 지불하기로 하였다.

이를 이름, 급여, 회비(소수점이하 반올림)를 출력하라.

SELECT FIRST_NAME 이름, SALARY 급여, ROUND(SALARY+(SALARY*0.15)) 회비
FROM EMPLOYEES
WHERE SALARY BETWEEN 1500 AND 3000;

 

 

 

 

문제5)

모든 사원의 실수령액을 계산하여 출력하라. 단, 급여가 많은 순으로 이름, 급여, 실수령액을 출력하라.

(실수령액은 금여에 대해 10%의 세금을 뺀 금액)

SELECT FIRST_NAME, SALARY 급여, SALARY-(SALARY*0.1) 실수령액
FROM EMPLOYEES
ORDER BY SALARY DESC;

 

 

 

문제6)

모든 사원의 연봉을 표시하는 보고서를 작성하려고 한다.

보고서에 사원의 성과 이름(Name으로 별칭), 급여, 수당여부에 따른 연봉을 포함하여 출력하시오.

수당여부는 수당이 있으면 “Salary + Commission”, 수당이 없으면 “Salary only”라고 표시하고, 별칭은 적절히 붙인다.

또한 출력 시 연봉이 높은 순으로 정렬한다.

SELECT FIRST_NAME || LAST_NAME Name, salary 급여, 
nvl2(commission_pct,(salary+(salary*commission_pct))*12,salary*12) 연봉, 
nvl2(commission_pct,'Salary+Commission','Salary only') 수당여부 
FROM EMPLOYEES
ORDER BY 연봉 DESC;
반응형

'KH정보교육원 > SQL' 카테고리의 다른 글

[오라클] 그룹함수  (0) 2023.06.20
[오라클] 조인(JOIN) 정리  (0) 2023.06.19
[오라클] JOIN 과제  (0) 2023.06.19
[오라클] 사용자 생성하기[작성중]  (0) 2023.06.18
[오라클] 무결성 제약 조건 과제  (0) 2023.06.18