还剩3页未读,继续阅读
文本内容:
实验五 数据库的嵌套查询实验030910231杨博文
1、实验目的
①使学生进一步掌握SQLServer查询分析器的使用方法,
②加深SQL和Transact-SQL语言的嵌套查询语句的理解
二、实验内容在SQLServer查询分析器中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作
三、实验方法将查询需求用Transact-SQL语言表示;在SinServer查询分析器的输人区中输入Transact-SQL查询语句;设置查询分析器的结果区为StandardExecute(标准执行)或ExecutetoGrid网格执行方式.发布执行命令.井在结果区中查看查询结果如果结果不正确,要进行修改.直到正确为止
四、实验步骤
(1)基本操作实验用SQL语句表示,在学生选课库中实现其数据嵌套查询操作
①求选修了高等数学的学生学号和姓名语句SELECTSnoSnameFromStudentWHERESnoINSELECTSnoFROMSCWHERECnoINSELECTCnoFROMCourseWHERECname=高等数学;结果图
5.1
②求C1课程的成绩高于张三的学生学号和成绩语句SELECTSnoGradeFromSCWhereCno=1ANDGradeSELECTGradeFromSCStudentWHERESC.Sno=Student.SnoANDSC.Cno=1ANDStudent.Sname=张三;结果图
5.2
③求其他系中年龄小于计算机系年龄最大者的学生语句SELECT*FROMStudentWHERESageSELECT__XSageFROMStudentWHERESdept=CSANDSdeptCS;图
5.3
④求其他系中年龄小于全体计算机系的学生语句SELECT*FROMStudentWHERESageALLSELECTSageFROMStudentWHERESdept=CSANDSdeptCS;图
5.4
⑤求选修了C2课程的学生学号和姓名语句SELECTSnameFROMStudentWhereEXISTSSELECT*FROMSCWHERESno=Student.SnoANDCno=2;图
5.5
⑥求没有选修C2课程的学生学号和姓名语句SELECTSnameFROMStudentWhereNOTEXISTSSELECT*FROMSCWHERESno=Student.SnoANDCno=2;图
5.6
⑦查询选修了全部课程的学生姓名语句FROMStudentWhereNOTEXISTSSELECT*FROMCourseWHERENOTEXISTSSELECT*FROMSCWHERESno=Student.SnoAndCno=Course.Cno;结果语句
5.7
⑧求至少选修了学号为95002学生所选修的全部课程的学生学号和姓名语句SELECTDISTINCTSnoFROMSCSCXWHERENOTEXISTSSELECT*FROMSCSCYWHERESCY.Sno=95002ANDNOTEXISTSSELECT*FROMSCSCZWHERESCZ.Sno=SCX.SnoANDSCZ.Cno=SCY.Cno;图
5.8五总结
①在进行sql语句输入时要用西文操作字符,稍微不注意就会出错,要仔细检查
②对第二个实验的编写有不足,询问同学后得知
③第七八个实验语句要学会例如“求至少选修了学号为“10202”的学生所选修的全部课程的学生学号和姓名”可以理解为“没有一门10202所选的课程是该生没有选的课程”这样的思想要掌握。