1 / 14
文档名称:

数据库实验4实验报告.docx

格式:docx   大小:257KB   页数:14页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

数据库实验4实验报告.docx

上传人:qiang19840906 2021/7/19 文件大小:257 KB

下载得到文件列表

数据库实验4实验报告.docx

相关文档

文档介绍

文档介绍:淮海工学院计算机工程学院
实验报告书
课程名: 《数据库原理及应用》
题 目: T-SQL高级应用

班 级: 软件132
学 号:
姓 名: 孙莹莹
评语:
成绩: 指导教师:
批阅时间: 年 月 日
目的与要求
掌握复杂查询的使用方法;
掌握多表连接的方法;
掌握SELECT语句在多表查询中的应用。
掌握数据汇总、外连接查询的使用方法;
掌握事务定义的一般方法
实验内容
给出教材14-16的程序运行结果。
编写程序,查询“1033”班的最高分的学生的学号、姓名、班号、课程号和分数。
编写程序,创建一个新表,包含所有学生的姓名、课程名和分数,并以姓名排序。
编写程序,输出每个班最高分的课程名和分数。
在上次实验建立的factory数据库的基础上,完成如下各题:
删除factory数据库上各个表之间建立的关系;
显示各职工的工资记录和相应的工资小计。
按性别和部门名的所有组合方式列出相应的平均工资。
在worker表中使用以下语句插入一个职工记录:insert into worker values(20,’陈立’,‘女’,’55/03/08’,1,’75/10/10’,4),在depart表中使用以下语句插入一个部门记录:insert into depart values(5,’设备处’)。再对worker和depart表进行全外连接显示职工的职工号,姓名和部门名。然后删除这两个插入的记录。
显示最高工资的职工的职工号、姓名、部门名、工资发放日期和工资。
显示最高工资的职工所在的部门名。
显示所有平均工资低于全部职工平均工资的职工的职工号和姓名。
先显示worker表中的职工人数,开始一个事务,插入一个职工记录,再显示worker表中的职工人数,回滚该事务,最后显示worker表中的职工人数。
实验步骤
删除factory数据库上各个表之间建立的关系的操作步骤如下:
① 启动SQL Server管理控制器。
② 在“对象资源管理器”中展开LCB-PC服务器节点。
③ 展开“数据库”节点。
④ 选中,将其展开。
⑤ 展开“数据库关系图”节点。
⑥ ,右击,在出现的快捷菜单中选择“修改”命令,。
⑦ 在数据库关系图中,选择表示要从关系图中删除的关系的连接线(对于两条连线均进行⑦~⑨的操作)。
⑧ 右击关系线,从快捷菜单中选择“从数据库中删除关系”命令。
⑨ 出现一个消息框,提示确认删除。单击“是”按钮。
⑩ 在出现的对话框中单击“是”按钮保存所做的修改。
这样就将worker表和depart表以及worker表和salary表之间的关系删除了。
测试数据与实验结果
第1-14题图
第1-15题图
第1-16题图
第2题图
第3题图
第4题图

第5-2题图
第5-3题图
第5-4题图
第5-5题图
第5-6题图
第5-7题图
第5-8题图
第5-9题图
第5-10题图
结果分析与实验体会
在FROM子句中指定连接条件,有助于将这些连接条件与WHERE子句中的其他搜索条件分开,指定连接时建议使用这种方法。
如果某个表只出现在子查询中而不出现在外部查询中,那么该表中的列就无法包含在输出中(外部查询的选择列表)。
使用EXISTS引入的子查询在以下几方面与其他子查询略有不同:
l EXISTS关键字前面没有列名,常量或其他表达式。
l 由EXISTS引入的子查询的选择列表通常都是由星号(*)组成。由于只是测试是否存在符合子查询中指定条件的行,所以不必列出列名。
源码
1
use school
select 学号,课程号,分数
from score
where 学号 in(103,105)
order by 学号
compute avg(分数) by 学号
go
2
use school
go
select stude