实验四 复杂查询.docx
- 文档编号:27070285
- 上传时间:2023-06-26
- 格式:DOCX
- 页数:19
- 大小:2.50MB
实验四 复杂查询.docx
《实验四 复杂查询.docx》由会员分享,可在线阅读,更多相关《实验四 复杂查询.docx(19页珍藏版)》请在冰豆网上搜索。
实验四复杂查询
实验四复杂查询
1、实验目的
掌握两个表以上的连接查询的应用,包括嵌套查询。
2、实验内容
1、同一数据库中的多表查询
(1)查询比“林红”年纪大的男同学信息。
(2)查询所以学生的选课信息、包括学号、姓名、课号、课程名、成绩。
(3)查询已选课学生的学号、姓名、课程名、成绩。
(4)查询选修了“C语言程序设计”的学生的学号和姓名。
(5)查询与“张虹”在同一个班级的学生学号、姓名、家庭住址。
(6)查询其他班级中比“051”班所有学生年龄大的学生的学号、姓名。
(7)(选做)查询选修了全部课程的学生姓名。
(8)(选做)查询至少选修了学生“20110002”选修的全部课程的学生的学号、姓名。
(9)查询学生的学号、姓名、学习课程名及课程成绩。
(10)查询选修了“高数”课且成绩至少高于选修课程号为“002”课程的学生的学号、课程号、成绩,并按成绩从高到底次序排列。
(11)查询选修3门以上课程的学生的学号、总成绩(不统计不及格的课程),并要求按总成绩的降序排列出来。
(12)查询多于3名学生选修的并以3结尾的课程号的平均成绩。
(13)查询最高分与最低分之差大于5分的学生的学号、姓名、最高分、最低分。
(14)创建一个表student_other,结构同Student,输入若干记录,部分记录和Student表中的相同。
A.查询同时出现在Student表和student_other表中的记录。
B.查询Student表和student_other表中的全部记录。
2、多个数据库间的多表查询
(选做)创建一个数据库student_info_other,参数自定。
(1)当前数据库为Student_info,将student_info数据库中的表student_other复制到student_info_other中。
(2)查询同时出现在Student表和student_info_other数据库student_other表中的记录。
3、外连接查询
(1)查询所有课程信息及其选课信息,包含未被学生选修的课程。
(2)查询所有学生信息,所有课程信息及其选课信息,包含未选课课程的学生及未被学生选修的课程。
实验五、视图的创建与使用
1、实验目的
(1)理解视图的概念。
(2)掌握创建视图、测试、加密视图的方法。
(3)掌握更改视图的方法。
(4)掌握用视图管理数据的方法。
2、实验内容
1、创建视图
(1)创建一个名为stuview1的水平视图,从Student_info数据库的student表中查询出所有男生的资料。
并在创建视图时使用withcheckoption。
(2)创建一个名为stuview2的投影视图,从数据库Student_info的Course表中查询学分大于3的所有课程的课程号、课程名、总学时,并在创建时对该视图加密。
(3)创建一个名为stuview3的视图,能检索出“051”班所有女生的学号、课程号及相应的成绩。
\
(4)创建一个名为stuview4的视图,能检索出每位选课学生的学号、姓名、总成绩。
2、查询视图的创建信息及视图中的数据
(1)查看视图stuview1的创建信息。
方法1:
通过系统存储过程sp_help查看。
方法2:
通过查询表sysobjects。
(2)查看视图的定义脚本。
方法1:
通过系统存储过程sp_helptext.
方法2:
通过查询表sysobjects和表syscomments。
(提示:
视图的名称保存在表sysobjects的name列,定义脚本保存在表syscommments的text列)。
(3)查看加密视图stuview2的定义脚本。
3、修改视图的定义
修改视图stuview2,使其从数据库Student_info的Course表中查询总学时大于60的所有课程号、课程名、学分。
4、视图的更名与删除
(1)将视图stuview4更名为stuv4.
(2)将视图stuv4删除。
5、管理视图中的数据
(1)从视图stuview1查询出班级为“051”、姓名为“张虹”的资料。
(2)向视图stuview1中插入一行数据。
学号:
20110005,姓名:
许华,班级:
054,性别:
男,家庭住址:
南京,入学时间:
2011/09/01,出生年月:
1983/01/09。
原Student表中的内容有何变化?
没有插入时的student表
插入情况:
插入后原student表的变化:
由第一、三个图可知,当向视图中插入数据时,数据会被成功插入表student中。
(3)思考:
如何向视图stuview1中插入一行数据。
学号:
2011006,姓名:
赵静,班级:
054,性别:
女,家庭住址:
南京,入学时间:
2011/09/01,出生年月:
1983/11/09。
会出现什么样的结果?
原Student表中的内容有何变化?
答:
不能成功插入,因为视图stuview定义中有对子查询条件作出限制withcheckoption,而插入的数据性别为女,不满足约束。
(4)修改视图stuview1中的数据。
将stuview1中054班、姓名为“许华”同学的家庭住址改为“扬州市”。
原Student表中的内容有何变化?
原student:
修改后的student表:
原student表中的‘许华’项的地址变为‘扬州’
(4)删除视图stuview1中班级为054、姓名为“许华”的同学的记录。
原Student表中的内容有何变化?
原student表的记录:
删除后student表为:
原student中”许华”的记录也被删除
(注:
专业文档是经验性极强的领域,无法思考和涵盖全面,素材和资料部分来自网络,供参考。
可复制、编制,期待你的好评与关注)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验四 复杂查询 实验 复杂 查询