实验五数据库的查询实验报告.docx
- 文档编号:23078165
- 上传时间:2023-04-30
- 格式:DOCX
- 页数:14
- 大小:627.53KB
实验五数据库的查询实验报告.docx
《实验五数据库的查询实验报告.docx》由会员分享,可在线阅读,更多相关《实验五数据库的查询实验报告.docx(14页珍藏版)》请在冰豆网上搜索。
实验五数据库的查询实验报告
实验五-数据库的查询-实验报告
实验5数据库的查询
(二)
一.实验名称:
数据库的查询
(二)
二.目的和要求:
(1)掌握连接查询的表示方法。
(2)掌握子查询的表示方法。
三.实验准备
(1)了解连接查询的表示方法。
(2)了解子查询的表示方法。
四。
实验时间:
2011年4月14日
五。
实验设备和实验环境:
(1)PC机。
(2)SQLServer2000。
六.实验内容:
1.连接查询的使用
(1)查询选修2号课程且成绩为90分以上的学生学号、姓名、系别及成绩。
在查询分析器的编辑窗口输人如下的语句并执行:
SELECTStudent.sno,sname,Sdept,grade
FROMStudent,Sc
WHEREEStudent.sno=Sc.sno
AndSc.Cno=’2’andSc.Grade>90
思考与练习:
查询成绩在80~90分之间的学生学号、姓名、课程名及成绩。
在查询分析器的编辑窗口输人如下的语句并执行:
selectstudent.sno,sname,ame,sc.grade
fromstudent,sc,course
wherestudent.sno=sc.sno
ando=o
andsc.gradebetween80and90;
(2)查找每一门课程的间接先行课程(即先行课的先行课)。
在查询分析器的编辑窗口输入如下语句并执行:
SELECTFirst.Cno,Second.Cpno
FROMCourseFirst,CourseSecond.
WHEREEFirst.Cpno=Second.Cno
思考与练习:
查询没有选修课程及其成绩的学生详情。
2.子查询的使用
(1)查找学习成绩不及格的学生的情况。
在查询分析器的编辑窗口输人如下语句并执行:
SELECT*
FROMStudent
WHERESnoIn
(SELECTSno
FROMSc
WHEREGrade<60)
思考与练习:
用子查询的方法查找所有成绩在90分以上的学生的情况。
select*
fromstudent
wheresnoin
(selectsno
fromsc
wheregrade>90);
(2)查找数学系年龄不低于信息系年龄的学生的姓名。
在查询分析器的编辑窗口输入如下语句并执行:
SELECTSname
FROMStudent
WHERESdept=’MA’
AND
Sage>=ALL(SELECTSage
FROMStudent
WHERESdept=’IS’)
思考与练习:
求数据库课程成绩比任一个信息系学生成绩都高的数学系学生的姓名。
(3)查找选修了课程名为“数据库系统”的学生学号和姓名。
在查询分析器的编辑窗口输人如下的语句并执行:
SELECTSno,Sname
FROMStudent
WHERESnoIn
(SELECTSno
FROMSc
WHERECno=
SelectCno
FromCourse
WHERECname=’数据库系统’))
思考与练习:
用连接查询的方法完成上题。
selectstudent.sno,sname
fromstudent,sc,course
wherestudent.sno=sc.sno
ando=o
andcname='数据库';
(4)查找选修了2号课程的学生清单。
在查询分析器的编辑窗口输人如下的语句并执行:
SELECT*
FROMStudent
WHEREExists
(SELECT*
FROMSc
WHERESc.Sno=Student.SnoAndSc.Cno=’2’)
思考与练习:
查找选修了2号课程的学生学号、姓名、课程名及成绩。
SELECTstudent.sno,sname,cname,grade
FROMstudent,course,sc
WHEREstudent.sno=sc.sno
ando=o
andExists
(SELECT*
FROMsc,course
WHEREstudent.sno=sc.sno
ando=o
andSc.Cno='2');
(5)查找至少选修了95002号学生所选修的全部课程的学生学号。
在查询分析器的编辑窗口输人如下的语句并执行:
SELECTDistinctSCX.Sno
FROMScSCX
WHERENOTExists
(SELECT*
FROMScSCY
WHERESCY.Sno=’95002’AndNOTExists
(Select*FromScSCZ
WhereSCZ.Sno=SCX.SnoAndSCZ.Cno=SCY.Cno))
思考与练习:
用子查询的方法查找选修了全部课程的学生清单。
SELECTSnameFROMStudent
WHERENOTEXISTS
(SELECT*FROMCourse
WHERENOTEXISTS
(SELECT*FROMSC
WHERE(Sno=Student.Sno
ANDCno=Course.Cno)));
七.实验总结:
1.连接查询是按照两个表中的相同属性进行等值连接,且目标列中去掉了重复的属性列,但是不保留了所有不重复的属性列,在连接查询的基础上,where子句中使用多个条件的连接,则可得到需要查询的结果。
2.通过子查询可以更加方便快捷的对表进行数据的查询与操作,但是要注意的就是,查询的方式是由里向外的,并且在select语句中不能使用orderby子句,orderby子句只能对最终的结果进行排序。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 数据库 查询 报告