본문 바로가기

Dev./Back-end

20120831 Oracle

3.1) EMPLOYEES Table에서 이름, 급여를 구하여 급여가 많은사람에서 적은사람 순서로 출력하여라. 


select first_name, last_name, salary from employees order by salary DESC;


3.2) 10번 부서의 모든 사람들에게 급여의 13%를 보너스로 지불하기로 하였다.

이름, 급여, 보너스 금액, 부서번호를 출력하여라. 


select emp.first_name,emp.last_name,emp.salary,emp.salary*0.13 "Bonus",emp.department_id

 from employees emp, departments depa

  where emp.department_id=10

   and emp.department_id = depa.department_id;


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

이들의 이름, 급여, 회비(-2자리에서 반올림)를 출력하여라. 


select first_name, last_name, salary, salary*0.15 "회비"

 from employees

  where salary between 1500 and 3000;


3.5) 급여가 $2,000이상인 모든 사람은 급여의 15%를 경조비로 내기로 하였다. 

이름, 급여, 경조비(소수점 이하 절삭)를 출력하여라. 


select first_name, last_name, salary, salary*0.15 "경조비"

 from employees

  where salary >= 2000;


3.6) 입사일부터 지금까지의 날짜수를 출력하여라. 

부서번호, 이름, 입사일, 현재일, 근무일수(소수점 이하 절삭), 근무 년수, 근무 월수을 출력하여라.


select department_id, first_name, last_name, hire_date, sysdate,

 round(sysdate-hire_date,0)"근무일수",round((sysdate-hire_date)/365,0)"근무년수",

 round((sysdate-hire_date)/12,0)"근무개월수"

  from employees;


3.7) 입사일로부터 90일이 지난 후의 날짜를 이름, 입사일과 함께 출력하여라. 


select first_name, last_name, hire_date, hire_date+90 "90일지난날"

 from employees;

 

3.8) 입사일로부터 6개월이 지난 후의 날짜를 이름, 입사일, 6개월 후의 날짜, 급여와 함께 출력하라.


select first_name, last_name, hire_date, add_months(hire_date,6) "6개월 지난날", salary

 from employees;

 

3.9) 입사한 달의 근무 일수를 계산하여 부서번호, 이름, 근무일수를 출력하여라. 


select department_id, first_name, last_name,

 last_day(hire_date)-hire_date "근무일수"

 from employees;

 

3.10) 모든 사원의 입사일로부터 60일이 지난 후의 'MONDAY'는 몇 년, 몇 월, 몇 일인가를 구하여 

이름, 입사일, 'MONDAY'를 출력하여라.


select first_name, last_name, hire_date, hire_date+60 "MONDAY"

 from employees;

'Dev. > Back-end' 카테고리의 다른 글

20120925 Oracle  (0) 2012.09.25
Oracle 연습문제 . 데이터입력  (0) 2012.09.24
/*Over(partition by)*/ /*inner query*/  (0) 2012.09.24
120911 오라클  (0) 2012.09.11
20120831 Oracle  (0) 2012.09.02
상태: 실패 -테스트 실패: ORA-28000: the account is locked  (0) 2012.09.02