数据库实验报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验4SQL高级应用【实验目的】1、掌握在SQLSERVER2005下进行数据还原的方法。2、掌握SQL语句的查询统计功能和数据更改功能。【实验内容】1.还原factory数据库。2.在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)写出操作步骤。2.其他各题写出实现要求的命令/程序,并列出执行结果。【操作步骤】1.还原factory数据库。2.在factory基础上,有(1)删除factory数据库上各个表之间建立的关系。(2)*显示各职工的工资记录和相应的工资小计。Select职工号,姓名,工资fromsalaryOrderby职工号Computesum(工资)by职工号(3)*按性别和部门名的所有组合方式列出相应的平均工资。selectworker.职工号,worker.性别,depart.部门名,avg(工资)as'平均工资'fromworkerinnerjoindepartonworker.部门号=depart.部门号innerjoinsalaryonworker.职工号=salary.职工号groupbyworker.职工号,worker.性别,depart.部门名orderbyworker.职工号(4)在worker表中使用以下语句插入一个职工记录。职工号:20;姓名:陈立;性别:女;出生日期:55/03/08;党员否:1;参加工作:75/10/10;部门号:4。insertintoworkervalues('20','陈立','女','1955-03-08','1','1975-10-10',4)在depart表中使用以下语句插入一个部门记录。部门号:5;部门名:设备处。InsertintodepartValues('5','设备处')对worker和depart表进行全外连接显示职工的职工号、姓名和部门名,然后删除这两个插入的记录。usefactorySelectb.部门号,c.姓名fromsalarya,departb,workercdeletefromworkerwhere职工号=20deletefromdepartwhere部门号=5(5)显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。UsefactorySelectb.部门名,c.职工号,c.姓名,b.部门名,a.日期,a.工资fromsalarya,departb,workercWhere工资in(selectmax(a.工资)fromsalarya)anda.职工号=c.职工号andb.部门号=c.部门号(6)显示最高工资的职工所在的部门名。UsefactorySelectb.部门名fromsalarya,departb,workercWhere工资in(selectmax(a.工资)fromsalarya)andc.部门号=b.部门号anda.职工号=c.职工号(7)显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。UsefactorySelecta.职工号,a.姓名,avg(b.工资)as平均工资fromworkera,salarybwherea.职工号=b.职工号groupbya.职工号,a.姓名havingavg(工资)(selectavg(工资)fromsalary)

1 / 9
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功