oracle实验报告三

oracle实验报告三

1.检索参与小型监控系统的员工信息,并将薪资按照从高到低排序

select *  from staff where 员工编号 in
(select 员工编号 from 员工参加项目 where 项目编号 in(select 项目编号 from project where 项目名称='小型监控系统')) 
order by salary desc;

–2.显示出已选项目的员工信息

select staff.员工编号,姓名,性别,生日,祖籍,salary ,项目编号 from staff 
join 员工参加项目 on staff.员工编号=员工参加项目.员工编号 ;

–3.查询员工编号为4的员工姓名,薪资,所选项目

select 姓名,salary,项目编号 from staff join 员工参加项目 on 
staff.员工编号=员工参加项目.员工编号  where staff.员工编号='4号员工';

–4.查询员工最高工资和最低工资的差距(DIFFERENCE)

select max(salary)-min(salary) DIFFERENCE from staff;

–5.查询公司中员工总数量,出生在1978年,1980年,1982年和1987年的员工数量。

select  trunc(生日,'year') 年份,count(员工编号) 员工数量 from staff group by trunc(生日,'year');

–6.列出薪金比张三高的员工信息

select  *  from staff where salary>(select salary from staff where 姓名='张三' );

–7.列出出生在80年代的员工信息

select  *  from staff where 生日  between '1-1月-1970' and '31-12月-1979';

–8.列出所有员工的年工资,按照年薪从低到高排列

select 姓名,salary*12 as 年薪 from staff order by salary*12 ;

–9.列出每个项目的持续月数

select round(months_between(to_date('1/1/2010','mm/dd/yyyy'),to_date('8/6/2009','mm/dd/yyyy')),2) "小型监控系统" ,
round(months_between(to_date('10/1/2010','mm/dd/yyyy'),to_date('12/30/2009','mm/dd/yyyy')),2) "办公网络安全",
round(months_between(to_date('12/31/2009','mm/dd/yyyy'),to_date('11/30/2008','mm/dd/yyyy')),2) "电子购物广场", 
round(months_between(to_date('12/31/2009','mm/dd/yyyy'),to_date('11/30/2009','mm/dd/yyyy')),2) "图书管理系统" from dual; 

–10.列出没有员工负责的项目信息

select *  from project where 项目编号 not in 
(select project.项目编号 from project join 员工参加项目 on 员工参加项目.项目编号=project.项目编号);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值