首页 > 数据库技术 > 详细

Oracle数据库的上机作业

时间:2015-04-01 19:29:54      阅读:359      评论:0      收藏:0      [点我收藏+]

技术分享

select  department_name,city,count(*)
from departments d, employees e, locations l
where e.department_id=d.department_id 
and l.location_id=d.location_id 
and e.salary>1000
group by department_name,city having count(*) > 2;

技术分享

 select first_name|| ||last_name name,salary
from employees
where salary between(select avg(salary)
from employees  
where department_id=50)and(select avg(salary) from employees where department_id=80);

技术分享

select  first_name ||‘‘|| last_name ,salary ,department_id
from employees 
where salary=(select max(salary) from employees);

技术分享

技术分享

selectemployee_id,first_name,last_name,salary,commission_pct,salary*(1+NVL(commission_pct,0)) totalincome
from employees 
order by totalincome;

技术分享

select  first_name ||‘‘|| last_name  name  ,salary ,department_id
 from  employees 
 where (salary ,department_id)
        in ( 
        select max(salary),department_id from  employees group by department_id);

技术分享

select employee_id,first_name|| ||last_name name,salary,department_id, 
(select avg(salary) from employees emp  where emp.department_id=e.department_id ) avgsal
from employees e
where salary>(select avg(salary) from employees emp  where emp.department_id=e.department_id )
order by department_id,employee_id;

技术分享

SELECT department_id , avgsal from 

      (SELECT ROWNUM no, department_id , avgsal 

         from ( select department_id ,avg(salary) avgsal from employees 
  group by  department_id  order by avg(salary))

       WHERE ROWNUM <= 2)where no=2;

技术分享

select employee_id,first_name|| ||last_name name,salary,department_id, 
(select avg(salary) from employees emp  where emp.department_id=e.department_id ) avgsal
from employees e
where salary>(select avg(salary) from employees emp  where emp.department_id=e.department_id )
order by department_id,employee_id;

技术分享

技术分享

select level ,employee_id ,first_name, last_name ,manager_id
from employees 
start with first_name=David and last_name=Austin
connect by prior manager_id=employee_id   order  by level desc;

技术分享

select department_id,employee_id,first_name|| ||last_name,salary,salrank
from (select department_id,employee_id,first_name,last_name,salary,
dense_rank() over (partition by department_id order by salary desc) salrank from employees)
where salrank<=3
order by department_id desc,salrank;

 

Oracle数据库的上机作业

原文:http://www.cnblogs.com/LJJ1010/p/4384379.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!