일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- while
- 반복문
- rank
- 오라클
- 예제
- 서브쿼리
- 무결성 제약 조건
- BufferedReader
- Sequence
- 트리거
- sql 예제
- 별찍기
- 데이터베이스
- join
- 집합 연산자
- 조건문
- 연결
- union
- PARTITION BY
- 그룹함수
- 이클립스
- 프로시저
- for문
- 15552
- 백준
- SQL
- 저장
- 단일행 함수
- java
- BufferedWriter
- Today
- Total
control Y
[오라클] 단일행 함수 관련 과제 본문
문제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 |