2024年3月6日发(作者:)

实验五 数据库的嵌套查询实验

1、实验目的

本实验的目的是使学生进一步掌握SQL Server查询分析器的使用方法,加深SQL语言的嵌套查询语句的理解

2、实验时数 2学时

3、实验内容

本实验的主要内容是:在SQL Server查询分析器中使用IN、比较符、ANY或ALL和EXISTS操作符进行嵌套查询操作。

具体完成以下例题。将它们用SQL语句表示,在学生数据库中实现其数据嵌套查询操作。

1、查询选修了高等数学的学生学号和姓名

select Sno,Sname

from Student

where Sno in

(select Sno

from SC,Course

where = and Cname='数学')

2、查询1号课程的成绩高于刘晨的1号课程成绩的学生学号和成绩

select ,Grade

from SC,Student

where Cno='1' and = and Grade>all(select Grade

from SC,Student

where = and Sname='刘晨')

3、查询其他系中比cs系某一学生年龄小的学生(即年龄小于计算机系年龄最大者的学生)

select *

from Student

where Sdept!='cs' and Sage

from Student

where Sdept='cs')

4、查询其他系中比cs系所有学生年龄都小的学生

select *

from Student

where Sdept!='cs' and Sage

from Student

where Sdept='cs')

5、查询选修了2号课程的学生姓名

select Sname

from Student

where Sno in (select

from SC,Student

where = and Cno='2')

6、查询没有选修2号课程的学生姓名

elect Sname

from Student

where exists (select

from SC,Student

where Cno!='2'

group by )

7、查询选修了全部课程的学生姓名

Select *

from SC

where Cno=all(select Cno

from Course)

8、求至少选修了学号为“00215122”的学生所选修全部课程的学生学号和姓名

select Sno,Sname

from Student

where Sno in (select

from Student,SC

where = and Cno=any(select Cno

from SC

where Sno='00215122'))

4、实验方法

将查询需求用SQL语言表示:在SQL Server查询分析器的输入区中输入SQL查询语句:设置查询分析器的结果区为Standard Execute(标准执行)或Execute to Grid(网格执行)方式;发布执行命令,并在结果区中查看查询结果;如果结果不正确,要进行修改,直到正确为止。

5、实验心得体会

本次实验还是进行查询操作,只是在第四次试验的基础上加入了嵌套,嵌套查询是在我们以后进行软件开发涉及数据库常用的查询操作,通过实验有助于我们对嵌套查询的理解,对我们熟练的使用SQL查询语句进行查询操作有很大帮助。