您的当前位置:首页正文

实验八 SQL语句的嵌套查询

来源:画鸵萌宠网
郑舒东 30802180 信电0805

实验八 T-SQL语句的嵌套查询

一、 实验目的

1. 掌握基本的T-SQL嵌套语句。

2. 掌握使用T-SQL语句嵌套查询表格的方法。

二、 实验内容

使用嵌套查询语句查询Stu_Info Table和Stu_Grade Table的学生信息。

三、 实验指导

在如图8-1和图8-2的表格基础上:

图8-1 Stu_Info Table

图8-2 Stu_Grade Table

(1)在Stu_Grade Table中检索选修002课的学生姓名 可以使用连接查询: SELECT Name

FROM dbo.[Stu_Info Table],dbo.[Stu_Grade Table]

WHERE dbo.[Stu_Info Table].Number = dbo.[Stu_Grade Table].Number AND Cnumber = '002' 或嵌套查询 SELECT Name

FROM dbo.[Stu_Info Table] WHERE Number IN

(SELECT Number FROM dbo.[Stu_Grade Table] WHERE CNumber = '002')

图8-3 嵌套查询选002课程的学生姓名

(2)必须使用嵌套查询的场合

在Stu_Grade Table中检索未选修002课的学生姓名: SELECT Name

FROM dbo.[Stu_Info Table] WHERE Number NOT IN

(SELECT Number FROM dbo.[Stu_Grade Table]

(3)不能使用嵌套查询的场合

列出每个同学的平均成绩,查询显示姓名和平均成绩: SELECT Name, AVG(Grade)

FROM dbo.[Stu_Info Table],dbo.[Stu_Grade Table]

WHERE dbo.[Stu_Info Table].Number = dbo.[Stu_Grade Table].Number GROUP BY Name

注:因为这里的Name和Grade是来自两张表的,所以无法用嵌套来实现。

(4)同时参加001和002号课程的同学

图8-4 同时参加001和002号课程的学生学号

四、 上机练习

本次课是对实验六和实验七的回顾和总结,请同学们依据这三次课堂指导独立完成以下练习。

P155页习题: 4,6,7,13,14,16,20 ,24。

在BookSys的表中插入以下数据(最好用select…union语句多行插入): 图书信息表:

图书编号 书名 价格 出版社 出版日期 作者

001 002 003 004 005 006 007 008 009 幸福了吗 29 长江文艺出版社 2010.9 独唱团 16 书海出版社 2010.7.1 秘密 32 中国城市出版社 2008.11.1 游园惊梦 24 湖南少儿出版社 2008.7 信念力 26 重庆出版社 2011.2.1 C++ Primer 99 人民邮电出版社 2006.3 数据结构 30 清华大学出版社 3007.3.1 水利技术标准 75 中国水利水电出版社 2008.2.1 堤坝安全鉴定 30 中国水利水电出版社 2006.3 白岩松

韩寒 拜恩 夏达 奥里森 Stanley B

严蔚敏 俞衍升 王平涛 010

最美丽的英文 40 中国对外翻译出版社 读者信息表:

读者编号 姓名 身份证号 级别 A01 刘备 123456 1 A02 张飞 123457 3 A03 关羽 123458 3 A04 诸葛亮 123459 2 B01 曹操 123460 1 B02 司马懿 123461 2 B03 孙权 123452 1 B04 鲁肃 123463 3

借阅信息表:

读者编号 图书编号 借阅日期 还书日期 A01 001 2011.2.1 2011.3.1 A01 002 2011.2.1 2.11.3.1 A02 001 2011.2.3 2011.3.3 A02 004 2011.2.5 2011.3.5 A03 008 2011.2.5 2011.3.5 B01 010 2011.3.5 2011.4.5 B02 002 2011.3.6 2011.4.6 B02 009 2011.3.8 2011.4.8 B02 009 2011.3.8 2011.4.8 B03 001 2011.3.9 2011.4.9 B03 007 2011.3.12 2011.4.12 B04 006 2011.3.12 2011.4.12 B04 008 2011.3.12 2011.4.12 4.查询前三项读者借阅图书的信息.

2..7.3.1 是否借阅 是 否 否 否 是 是 否 否 否 否 否 否 是

刘佩吉

6.查询所有借书的读者的编号,要求取消重复行

7.查询图书价格打八折后的图书名称、原价和折后价格,分别以“图书名称”、“原价”、“折后价格”为列名显示。

13.查询姓名是三个字的读者信息

14.计算图书的总价格和品均价格

16. 按读者级别由高到低输出读者信息

20.检查所有图书被借的信息,包括读者姓名,借书书名,结束日期,还书日期,书的价格

24.查询价格不大于‘中国水利水电出版社’出版的所有书的价格的图书信息

因篇幅问题不能全部显示,请点此查看更多更全内容

Top