云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 数据库综合查询(包含答案)

数据库综合查询(包含答案)

  • 62 次阅读
  • 3 次下载
  • 2025/5/4 10:02:32

实验六:数据库综合查询

一、实验目的

1. 掌握嵌套查询的表示及使用; 2. 了解集合查询的表示及使用。 二、实验环境

已安装SQL Server 2008 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时

2学时 四、实验要求

1. 了解嵌套查询的表示及使用; 2. 了解集合查询的表示及使用; 3. 完成实验报告; 五、实验准备知识 1、嵌套查询

(1)带有In谓词的子查询

在嵌套查询中,子查询的结果往往是一个集合,所以谓词IN是嵌套查询中最常用的谓词。IN子查询用于进行一个给定值是否在子查询结果集中的判断。 (2)带有比较运算符的子查询

带有比较运算符的子查询是指父查询与子查询之间用比较运算符连接。当用户确切知道内层查询返回的是单值时,可以用< ,<= ,=, >, >=, !=或<> 等比较运算符。

(3)带有ANY或ALL谓词的子查询

子查询返回单值时可以用比较运算符,但返回多值时要用ANY或ALL谓词修饰,而使用ANY或ALL谓词时必须同时使用比较运算符。

需要配合使用比较运算符: > ANY > ALL < ANY < ALL >= ANY <= ANY

大于子查询结果中的某个值 大于子查询结果中的所有值 小于子查询结果中的某个值 小于子查询结果中的所有值 大于等于子查询结果中的某个值 小于等于子查询结果中的某个值

>= ALL 大于等于子查询结果中的所有值

<= ALL = ANY =ALL

小于等于子查询结果中的所有值 等于子查询结果中的某个值

等于子查询结果中的所有值(通常没实际意义)

不等于子查询结果中的任何一个值

!=(或<>)ANY 不等于子查询结果中的某个值 !=(或<>)ALL 2、集合查询

SELECT语句的查询结果是元组的集合,所以多个SELECT语句的结果可进行集合操作。集合操作主要包括: (1)并操作 UNION (2)交操作 INTERSECT (3)差操作 EXCEPT

六、实验内容及步骤

以数据库原理实验5数据为基础,请使用T-SQL 语句实现进行以下操作: 1. 列出只选修一门课程的学生的学号、姓名、院系及成绩;

select student.sno,student.sname,student.sdept,grade from student,sc

where student.sno=sc.sno and sc.sno in (select sno from sc

group by sno having COUNT(cno)=1)

2. 查询只被一名学生选修的课程的课程号、课程名;

select course.cno 课程号,course.cname 课程名

from course,sc

where course.cno=sc.cno and sc.cno in (select cno from sc

group by cno having COUNT(cno)=1)

3. 检索所学课程包含学生‘张向东’所学课程的学生学号、姓名;

select sno,sname from student,sc

where student.sno=sc.sno and cno=all (select cno from sc,student

where sc.sno=student.sno and sname=’张向东’)

4. 使用嵌套查询列出选修了?数据结构?课程的学生学号和姓名;

select sno,sname from student where sno in

(select sno From sc Where cno in

(select cno from course

where cname=’数据结构’))

5. 使用嵌套查询,列出其他院系中比CS系某一学生年龄小的学生的姓名和年龄; SELECT Sname,Sage FROM Student WHERE Sage <

(SELECT MAX(Sage) FROM Student WHERE Sdept= 'CS') AND Sdept <> 'CS'

6. 使用ANY查询,列出其他院系中比CS系某一学生年龄小的学生的姓名和年龄;

SELECT Sname,Sage FROM Student WHERE Sage < ANY (SELECT Sage FROM Student WHERE Sdept= 'CS') AND Sdept <> 'CS'

7. 使用嵌套查询,列出其他院系中比CS系所有学生年龄小的学生; SELECT Sname,Sage FROM Student WHERE Sage <

(SELECT MIN(Sage) FROM Student WHERE Sdept= 'CS') AND Sdept <> 'CS'

8. 使用ALL 查询,列出其他院系中比CS系所有学生年龄小的学生; SELECT Sname,Sage FROM Student WHERE Sage < ALL (SELECT Sage FROM Student

WHERE Sdept= 'CS') AND Sdept <> 'CS'

9. 使用集合查询列出CS系的学生或者性别为女的学生名单; SELECT * FROM Student WHERE Sdept= 'CS' UNION SELECT * FROM Student WHERE Ssex='女'

10. 使用集合查询列出选修课程1的学生集合与选修课程2的学生集合的交集。 SELECT * FROM SC WHERE Cno='1' INTERSECT SELECT * FROM SC WHERE Cno= '2'

11. 使用集合查询列出CS系的学生与年龄不大于19岁的学生的差集; SELECT * FROM Student WHERE Sdept='CS' EXCEPT SELECT * FROM Student WHERE Sage<=19

七、出现问题及解决办法

如:某些查询操作无法执行,如何解决?

搜索更多关于: 数据库综合查询(包含答案) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

实验六:数据库综合查询 一、实验目的 1. 掌握嵌套查询的表示及使用; 2. 了解集合查询的表示及使用。 二、实验环境 已安装SQL Server 2008 企业版的计算机; 具有局域网环境,有固定IP; 三、实验学时 2学时 四、实验要求 1. 了解嵌套查询的表示及使用; 2. 了解集合查询的表示及使用; 3. 完成实验报告; 五、实验准备知识 1、嵌套查询 (1)带有In谓词的子查询 在嵌套查询中,子查询的结果往往是一个集合,所以谓词IN是嵌套查询中最常用的谓词。IN子查询用于进行一个给定值是否在子查询结果集中的判断。 (2)带有比较运算符的子查询 带有比较运算符的子查询是指父查询与子查询之间用比较运算符连接。当用户确切知道内层查询返回的是单值时,可以

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com