1、贵州大学实验报告(小三号,加黑)学院:计算机科学与信息学院 专业: 班级:姓名学号实验组实验时间指导教师成绩实验项目名称数据库的嵌套查询实验目的使学生进一步掌握SQL Server查询分析器的使用方法,加深对SQL语言的嵌套查询语句的理解。 实验要求本实验属于验证型实验,通过实验,加强对课堂讲授知识的理解。开始实验前,必须进行预习,写出实现所有查询要求的SQL语句。实验过程中,先集中由老师进行具体要求和注意事项的讲解,然后各自独立在机器上完成实验。实验过程中出现问题,在实验指导老师帮助下解决。实验原理将查询要求用SQL语句表示;在SQL Server查询分析器的输入区中输入SQL 查询语句;设
2、置查询分析器的结果区Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看结果;如果结果不正确,要进行修改,直到正确为止。实验仪器(1)硬件条件:个人计算机。(2)软件条件:Windows 2000NT Server; MS SQL Server 2000。实验步骤1、基本操作实验用SQL语句表示,在学生选课库中实现其数据嵌套查询操作。(1)求选修了高等数学的学生学号和姓名。(2)求C1课程的成绩高于张三的学生学号和成绩。(3)求其它系中年龄小于计算机系年龄最大者的学生。(4)求其它系中比计算机系学生年龄都小的学生。(5)求
3、选修了C2课程的学生姓名。(6)求没有选修C2课程的学生姓名。(7)查询选修了全部课程的学生姓名。(8)求至少选修了学号为“S2“的学生所选修的全部课程的学生学号和姓名。2、提高操作实验对自设计的数据库应用项目的数据查询操作分类,用SQL语句表示其中的简单、连接和嵌套查询,并通过SQL Server查询分析器实现其查询操作。实验内容在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。实验数据1、 基本操作实验(1)求选修了高等数学的学生学号和姓名。select Number,Name from Student where exists(Sel
4、ect *from Selection whereStudent.Number=Snumber and Cnumber=(select Number from Course where Course.Name=高等数学)(2)求C1课程的成绩高于张三的学生学号和成绩。select Snumber,score from Selection SE1 where SE1.Cnumber=C1 and score(select score from Selection SE2,Student where SE2.Snumber=Student.Number and Name=张三 and SE2.Cn
5、umber=C1)(3)求其它系中年龄小于计算机系年龄最大者的学生。select* from Student S1 where Age any(select Age from Student S2 where S2.Academy=计算机系)(4)求其它系中比计算机系学生年龄都小的学生。select* from Student S1 where Age all(select Age from Student S2 where S2.Academy=计算机系)(5)求选修了C2课程的学生姓名。select Name from Student where exists(select *from S
6、election where Selection.Snumber=Student.Number and Selection.Cnumber=C2)(6)求没有选修C2课程的学生姓名。select Name from Student where not exists(select *from Selection where Selection.Snumber=Student.Number and Selection.Cnumber=C2)(7)查询选修了全部课程的学生姓名。select Student.Name from Student wherenot exists(select * from
7、 Course where not exists(select * from Selection where Student.Number=Selection.Snumber and Course.Number=Selection.Cnumber)(8)求至少选修了学号为“S2“的学生所选修的全部课程的学生学号和姓名。select Student.Name,Student.Number from Student wherenot exists(select * from Selection S1 where S1.Snumber=S2 and not exists(select * from Selection S2 where Student.Number=S2.Snumber and S1.CNumber=S2.Cnumber)实验总结本次实验为SQL嵌套查询,部分题略有难度,需要花时间去思考。本次实验所有程序顺利完成。指导教师意见签名: 年 月 日注:各学院可根据教学需要对以上栏目进行增减。表格内容可根据内容扩充。5