数据库实验报告 (5)
.
..
实验4 SQL高级应用
【实验目的】
1、掌握在SQL SERVER 2005下进行数据还原的方法。
2、掌握SQL语句的查询统计功能和数据更改功能。
【实验内容】
还原factory数据库。
在factory数据库上,完成如下各题。
(1)删除factory数据库上各个表之间建立的关系。
(2)*显示各职工的工资记录和相应的工资小计。
(3)*按性别和部门名的所有组合方式列出相应的平均工资。
(4)在worker表中使用以下语句插入一个职工记录。职工号:20;姓名:陈立;性别:女;出生日期:55/03/08;党员否: 1;参加工作:75/10/10;部门号:4。
在depart表中使用以下语句插入一个部门记录。部门号:5;部门名:设备处。
对worker和depart表进行全外连接显示职工的职工号、姓名和部门名,然后删除这两个插入的记录。
(5)显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。
(6)显示最高工资的职工所在的部门名。
(7)显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。
(8)*采用游标方式实现(6)小题的功能。
(9)*采用游标方式实现(7)小题的功能。
(10)*先显示worker表中的职工人数,开始一个事务,插入一个职工记录,再显示worker表中的职工人数,回滚该事务,最后显示worker表中的职工人数。
【实验报告要求】
第(1)写出操作步骤。
其他各题写出实现要求的命令/程序,并列出执行结果。
【操作步骤】
1.还原factory数据库。
2.在factory基础上,有
(1)删除factory数据库上各个表之间建立的关系。
(2)*显示各职工的工资记录和相应的工资小计。
Select 职工号,姓名,工资from salary
Order by 职工号
Compute sum (工资) by 职工号
(3)*按性别和部门名的所有组合方式列出相应的平均工资。
select worker.职工号,worker.性别,depart.部门名,avg(工资)as'平均工资'
from worker inner join depart on worker.部门号=depart.部门号 inner join salary
on worker.职工号=salary.职工号
group by worker.职工号,worker.性别,depart.部门名
order by worker.职工号
(4)在worker表中使用以下语句插入一个职工记录。职工号:20;姓名:陈立;性别:女;出生日期:55/03/08;党员否: 1;参加工作:75/10/10;部门号:4。
insert into worker
values('20','陈立','女','1955-03-08','1','1975-10-10',4)
在depart表中使用以下语句插入一个部门记录。部门号:5;部门名:设备处。
Insert into depart
Values('5','设备处')
对worker和depart表进行全外连接显示职工的职工号、姓名和部门名,然后删除这两个插入的记录。
use factory
Select b.部门号,c.姓名
from salary a,depart b,worker c
delete from worker
where 职工号=20
delete from depart
where 部门号=5
(5)显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。
Use factory
Select b.部门名,c.职工号,c.姓名,b.部门名,a.日期,a.工资
from salary a,depart b,worker c
Where 工资in (select max(a.工资)from salary a)
and a.职工号=c.职工号and b.部门号=c.部门号
(6)显示最高工资的职工所在的部门名。
Use factory
Select b.部门名from salary a,depart b,worker c
Where 工资in (select max(a.工资) from salary a
相关热词搜索: 实验报告 实验 数据库 报告