oracle实验报告二
针对实验一中的表进行以下操作:
–1.将所有员工的祖籍信息前都加上‘中国’二字,比如‘山东青岛’改为‘中国山东青岛’
update staff set 祖籍=concat('中国',祖籍);
select * from staff;
–2.将参与了‘办公网络安全’项目的职工的工资都加上200元
update staff set SALARY=salary+200
where 员工编号 in (SELECT 员工编号
FROM 员工参加项目 join PROJECT on 员工参加项目.项目编号=PROJECT.项目编号
where 项目名称='办公网络安全' );
select * from staff
where 员工编号 in (SELECT 员工编号
FROM 员工参加项目 join PROJECT on 员工参加项目.项目编号=PROJECT.项目编号
where 项目名称='办公网络安全' );
–3.只保留李有才一个人在小型监控系统项目中,其他参与该项目的人不再插手该项目
DELETE from 员工参加项目
where 项目编号=(select 项目编号 from PROJECT where 项目名称='小型监控系统')and
员工编号!=(select 员工编号 from STAFF where 姓名='李有才');
select * from 员工参加项目;
–4.在staff表中插入5号员工信息:姓名-张三,性别-男,日期-1987-3-10,济南,工资-3500
insert into staff values('5号员工','张三','男','10-3月-1987','济南',3500);
select * from staff;
–5.查询公司中所有的王姓员工
select * from STAFF
where 姓名 like '王%';
–6.查询参与了预算最多的员工有哪些
select * from
(select staff.员工编号,姓名,sum(预算)
from STAFF join 员工参加项目 on staff.员工编号=员工参加项目.员工编号
join project on 员工参加项目.项目编号=project.项目编号
group by staff.员工编号,姓名
order by sum(预算) desc)
where rownum<2;
–7.检索一下每个项目有多少员工参与了
select 项目编号 ,count(员工编号)
from 员工参加项目
group by 项目编号;
–8.检索李有才的基本信息及其参与的项目信息
select *
from STAFF join 员工参加项目 on staff.员工编号=员工参加项目.员工编号
join project on 员工参加项目.项目编号=project.项目编号
where 姓名='李有才';
–9.检索所有员工的平均薪资,最高薪资,最低薪资
select avg(salary),max(salary),min(salary) from staff;
select * from staff;
–10.连接表staff的全部列,各个列之间用逗号隔开,列头显示成OUT_PUT
select 员工编号||','||姓名||','||性别||','||生日||','||祖籍||','||salary as "OUT_PUT" from staff;