数据库练习答案

更新时间:2024-06-11 21:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据库练习题库

附录A 学生成绩管理系统数据库

学生成绩管理系统数据库是比较简单的一个数据库。基于读者都对学校的学生管理方式十分了解,所以这个数据库作为上课时的实际演示例子。

A.1 学生表(Tbl_StudentInfo)

伦理名 学号 姓名 生日 性别 家庭住址 手机

物理名 Stuno stuname Stubirth Stusex StuAddr StuTel

属性

Char(5) 非空 Varchar(20) 非空 Date Num(1) Varchar(200) Varchar(11)

图 A.1 学生表的表结构

学号 05001 05002 05003 05004 05005 05006

姓名 张三 李四 王五 赵六 张三 孙七

生日 1988-12-12 1987-06-05 1987-12-01 1986-02-23 1988-04-01 1988-07-03

图A.2 学生表的表数据

性别 0 1 0 1 0 1

上海 北京 广东深圳 重庆 湖北武汉

家庭住址 江苏南京

手机 12345 12346 12347 12348 12349

主键 是

外键

A.2 课程表(Tbl_ClassInfo)

伦理名 课程号 课程名

物理名 classno Classname

属性

Char(3) not null Varchar(10) not null

图 A.3 课程表的表结构

版权所有 南京联迪杰易软件培训学校

第 1 页 共 19 页

主键 是

外键

数据库练习题库

课程号

001 002 003

图A.4 课程表的表数据

计算机 日语 英语

课程名

A.3 成绩表(Tbl_ScoreInfo)

伦理名 学号 课程号 考试成绩

物理名 Stuno Classno score

属性

Char(5) not null Varchar(3) not null Num(3,1)

图 A.5 成绩表的表结构

学号

05001 05001 05001 05002 05002 05002 05003 05003 05003 05004 05004 05005 05005

001 002 003 001 002 003 001 002 003 001 003 002 003

图A.6 成绩表的表数据

课程号

95 90 88 91 93 88 95 73 58 47 61 59 47

成绩

是 是 主键

外键 参照学生表 参照课程表

附录B 网上书店管理系统数据库

网上书店管理系统数据库是比较复杂的一个数据库。基于网上销售图书的方式,

作为课后习题。

版权所有 南京联迪杰易软件培训学校

第 2 页 共 19 页

数据库练习题库

B.1 客户表(Tbl_Customer)

伦理名 顾客编号 顾客姓名 物理名 Customer Customer_Name Varchar(10) 属性

Num(4) 非空

主键 是

外键

顾客地址 所在城市 所在省 邮政编码 推荐会员

顾客编号 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020

Address City State Zip Referred

顾客姓名 张三 李四 王五 赵六 李三 陈三 朱三 梁三 宫三 马三 刘三 齐三 陆三 陈三 钱三 高三 郝三 黄三 黄四 梁四

Varchar(20) Varchar(20) Varchar(20) Varchar(6) Num(4)

图 B.1客户表的表结构

顾客地址 所在城市 所在省 邮政编码 推荐会员 白下区 南京 江苏 210000 徐汇区 上海 上海 110000 朝阳区 北京 北京 110000 北大街 无锡 江苏 110000 平江路 苏州 江苏 110000 升州路 南京 江苏 110000 三牌楼 合肥 安徽 110000 1003 徐汇区 上海 上海 110000 徐汇区 上海 上海 110000 1003 海淀区 北京 北京 110000 崇文区 北京 北京 110000 宣武区 北京 北京 110000 鼓楼区 南京 江苏 110000 1006 雨花区 南京 江苏 110000 新桥村 无锡 江苏 110000 利农村 无锡 江苏 110000 1010 杨浦区 上海 上海 110000 三家庄 合肥 安徽 110000 常青镇 合肥 安徽 110000 1003 余老庄

合肥

安徽

110000

图B.2 客户表的表数据

版权所有 南京联迪杰易软件培训学校第 3 页 共 19 页

数据库练习题库

B.2 图书表(Tbl_Books)

伦理名 物理名 图书编号 Isbn 书名 Title 出版日期 Pubdate 出版社ID Pubid 成本 Cost 售价 Retail 种别

Category

图书编号

书名 1059831198 一天中10分钟的身体成分

0401140733 米奇的复仇 4981341710 用牙签造车 8843172113 数据库的实现 3437212490 用蘑菇烹饪 3957136468 数据库法宝 1915762492 电脑手册 9959789321 电子商务的道

路 2491748320 教育孩子_轻

松方法

0299282519 烹饪之路 8117949391 大熊和小宝贝 0132149871 如何最快的制

作比萨

9247381001 如何成为经理

2147428890 最短小精悍的

属性

主键 外键

Varchar (10) 非空

Varchar(300) Date Num(2) Num(5,2) Num (5,2) Varchar (12)

图 B.3图书表的表结构

出版日期 出版社ID 成本 售价 种别

2001-01-21 4 18.75 30.95 健康

2001-12-12 1 14.2 22 家庭生活 2002-08-18 2 37.8 59 儿童 1999-06-04 3

31 55 计算机 2000-02-28 4 12.5 19.95 烹饪 2001-11-30 3 47 75 计算机 2001-01-21 3 21 25 计算机 2002-03-02 2 37 54 计算机 2000-07-17 5 48 89.95 家庭生活 2000-09-11 4 19 28 烹饪 2001-11-08 5

5.32

8.95

儿童

2002-11-11 4 17.85 29.95 自助

1999-05-09 1 15.4

31.95

商务 2001-05-01 5

21.85 39.95

文学

图B.4 图书表的表数据

版权所有 南京联迪杰易软件培训学校第 4 页 共 19 页

数据库练习题库

B.3 订单表(Tbl_Orders)

伦理名 物理名 订单号 Order 顾客号 Customer 订单日期 Orderdate 发货日期 Shipdate 发货地点 Shipstreet 发货城市 Shipcity 发货省 Shipstate 邮编

Shipzip

订单号 顾客号 订单日期1000 1005 2003-03-31 1001 1010 2003-03-31 1002 1011 2003-03-31 1003 1001 2003-04-01 1004 1020 2003-04-01 1005 1018 2003-04-01 1006 1003 2003-04-01 1007 1007 2003-04-01 1008 1004 2003-04-02 1009

1005

2004-04-03

属性

主键 外键 Number (4) 非空 是

Number (4) 参照客户表 Date Date Varchar (18) Varchar (15) Varchar (2) Varchar (6)

图B.5 订单表的表结构

发货日期 发货地点 发货城市 发货省 邮编 2003-04奥体大街 南京 江苏 210019 -02 2003-04和会街 南京 江苏 210001

-01 2003-04南京路 上海 上海 201100 -01 2003-04南京路

上海 上海 201100 -01 2003-04欧风街

无锡 江苏 214002 -05 2003-04南大街 常州 江苏 213000 -02 2003-04洋人街 重庆 重庆 400015 -02 2003-04洋人街

重庆 重庆 400015 -04 2003-04欧风街

无锡 江苏 214002 -03 2004-04南大街

常州

江苏

213000

-05

版权所有 南京联迪杰易软件培训学校第 5 页 共 19 页

数据库练习题库

1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020

1019 1010 1017 1014 1007 1020 1003 1015 1001 1018 1008

2004-04-03 2003-04-03 2005-04-03 2005-04-03 2003-04-03 2005-03-31 2003-03-31 2005-03-31 2003-03-31 2003-03-31 2003-03-31

2004-04-04 2003-04-05 2005-04-04 2003-04-05 2005-04-05

和平街 长安街

北京 北京

北京 北京 江苏 河南 北京 江苏 江苏 安徽 江苏 安徽 安徽

100000 100000

北京东路 南京

德化街 和平街 欧风街

210001

450007 100000 214002 215500 230001

郑州 北京 无锡 苏州 合肥 南京 合肥

长阳街 太合路 江苏路 青阳路

210001

230001 230001

梅山新村 合肥

图B.6 订单表的表数据

B.4 订单详细表(Tbl_Orderitems)

伦理名 订单号 明细编号 图书编号 数量

物理名 Order Item Isbn Quantity

属性

Number (4) 非空 Number (2) 非空 Varchar(10) Number (3)

图B.7 订单详细表的表结构

订单号 1000

1

明细编号

图书编号

3437212490

1

版权所有 南京联迪杰易软件培训学校

第 6 页 共 19 页

主键 是 是

外键 参照订单表

数量

数据库练习题库

1001 1001 1002 1003 1003 1003 1004 1005 1006 1007 1007 1007 1007 1008 1009 1009 1010 1011 1012 1012 1012 1012 1013 1014 1015 1016 1017 1018 1018 1019 1020

1 2 1 1 2 3 1 1 1 1 2 3 4 1 1 2 1 1 1 2 3 4 1 1 1 1 1 1 2 1 1

9247381001 2491748320 8843172113 8843172113 1059831198 3437212490 2491748320 2147428890 9959789321 3957136468 9959789321 8117949391 8843172113 3437212490 3437212490 0401140733 8843172113 2491748320 8117949391 1915762492 2491748320 0401140733 8843172113 0401140733 3437212490 2491748320 8117949391 3437212490 8843172113 0401140733 3437212490

图B.8 订单详细表的表数据

1 1 2 1 1 1 2 1 1 3 1 1 1 2 1 1 1 1 1 2 1 1 1 2 1 1 1 2 1 1 1

B.5 作者表(Tbl_Author)

伦理名

物理名

属性

主键

外键

版权所有 南京联迪杰易软件培训学校

第 7 页 共 19 页

数据库练习题库

作者编号 姓名

AuthorId Name

Varchar (4) 非空 Varchar (20)

图B.9 作者表的表结构

作者编号 S100 J100 A100 M100 K100 P100 A105 B100 P105 W100 W105 R100 F100 W110

薛明 陈洪 张二 刘虎 陈康 王立 吴明 洪海 李强 宫立 龚佩 张青 钟汉 韩青

姓名

图B.10 作者表的表数据

B.6 图书作者表(Tbl_BookAuthor)

伦理名 图书编号 作者编号

物理名 Isbn AuthorId

属性

Varchar (10) 非空 Varchar (4) 非空

图B.11 图书作者表的表结构

图书编号 1059831198 1059831198 0401140733 4981341710 8843172113

S100 P100 J100 K100 P105

版权所有 南京联迪杰易软件培训学校

第 8 页 共 19 页

主键 是 是

外键

作者编号

数据库练习题库

8843172113 8843172113 3437212490 3957136468 1915762492 1915762492 9959789321 2491748320 2491748320 2491748320 0299282519 8117949391 0132149871 9247381001 2147428890

A100 A105 B100 A100 W100 W105 J100 R100 F100 B100 S100 R100 S100 W100 W105

图B.12 图书作者表的表数据

版权所有 南京联迪杰易软件培训学校第 9 页 共 19 页

数据库练习题库

B.7 出版社表(Tbl_Publisher)

伦理名 出版社名 联系人 联系电话

物理名 Name Contact Phone

Varchar (23) Varchar (15) Varchar (12)

图B.13 出版社表的表结构

出版社编号 1 2 3 4 5

图B.14 出版社表的表数据

出版社名

新华出版社 扬子出版社 人民教育出版社 北京大学出版社 机械工业出版社

联系人 陈明 张译 元力 郑爽 陆华

联系电话 000-714-8321 010-410-0010 800-555-1211 800-555-9743 800-555-8284

属性

Num (10) 非空

主键 是

外键

出版社编号 Pubid

B.8 促销表(Tbl_Promotion)

伦理名 礼物 最低售价 最高售价

图B.15促销表的表结构

礼物

书签 书题标签 图书封面 免费购物券

图B.16促销表的表数据 0 12.01 25.01 56.01

最低售价

12 25 56 999.99

最高售价

物理名 Gift Minretail Maxretail

Num (5,2) Num(5,2)

属性

Varchar (10)

主键

外键

版权所有 南京联迪杰易软件培训学校

第 10 页 共 19 页

数据库练习题库

第一章 数据库概念

1. 理解附录B网上书店订单系统的数据库,并回答如下问题。

1.1 可以访问哪个表和字段在当月订单中确定客户已经购买了哪些书? 通过订单表中的客户号可以查客户表找到客户,通过订单表中的订单号查订单详细表然后通过订单详细表中的图书号查图书表查到所购买的图书

1.2 通过哪些表可以确定哪些订单没有发货。

通过查询订单表中的发货日期项看是否为空,为空则未发货。

1.3 通过哪些表及字段确定每月订单产生的总利润。 B3 Orderdate,B3 Order,B4 Isbn ,B4 Quantity,B2 cost, B2 Retail. 1.4 订单表和明细表的订单编号是什么样的关系。

B4的订单号的外键参照范围是B3的订单号。

2. 参照教材附录C有关数据库的安装过程,把数据库安装到本机,从中学习安装数据库。 (考察:数据库安装 预估:50分钟) 第二章 表格及数据约束

1. 熟悉附录B中各个表及各字段含义,并且能说明此字段属性的设置原因。 (考察:表格和字段的理解 预估:30分钟)

2. 创建附录B所示的客户表,图书表,订单表,订单详细表,作者表,图书作者表,出版社表及促销表。

3. 为客户表中增加客户电话字段(字段名:TEL_NO,属性:Varchar(15))。

4. 为客户表中将客户地址修改为可以存储50个中文汉字的属性。

5. 为客户表,图书表,订单表,订单详细表,作者表,图书作者表创建主键约束。

6. 为订单表的客户编号项目创建外键约束,为订单详细表的订单编号和图书编号创建外键约束;以及为教材附录A表的考试成绩表的课程号创建外键约束。

7. 为促销表的最低售价和最高售价指定检查约束,最高售价必须大于最低售价。 为订单详细表的数量指定检查约束,数量>0。

为图书表的成本和售价指定检查约束,售价必须大于成本。 (考察:检查约束 预估:40分钟)

8. 为客户表的客户电话项目设置唯一约束。 第三章 数据操作及事务处理

1. 参照教材附录B表插入数据。(保留住插入的sql文)

2. 参照教材附录B,修改朱三的客户信息,地址变为‘徐汇区’,城市变为‘上海’,省变为‘上海’,邮编变为‘110000’,推荐会员变为陈三。

3. 参照附录B,删除订单明细表中书名为《用蘑菇烹饪》的信息。

4. 修改订单1016 的发货地点为‘江苏路‘,城市‘南京’,省‘江苏’,邮编‘210001’。

5. 修改订单1006的图书为‘电子商务的道路‘,数量‘5’。

6. 修改书签礼物的最高售价为18,书题标签的最低售价改为18.01。

7. 修改人民教育出版社的联系电话为800-555-1398。 (考察:更新数据 预估:5分钟)

版权所有 南京联迪杰易软件培训学校

第 11 页 共 19 页

数据库练习题库

第四章 基本SQL

参看教材附录A表,完成以下习题:

1. 查询所有没电话的学生信息。

2. 查询所有成绩优秀(大于90)和成绩不及格(低于60)的学生学号,和课程号。

3. 查询所有学生信息,按照生日从大到小排序。

4. 查询所有姓孙的学生信息。

参看教材附录B表,完成以下习题:

1. 查询儿童和烹饪种类的所有图书(两种方式查询)。 (考察:IN和OR查询的使用 预估:10分钟)

2. 查询所有图书信息,按照出版社ID从小到大,出版日期从大到小排序。 (考察:排序的复杂使用 预估:10分钟)

3. 查询由其他客户向其推荐书店的所有客户。 (考察:NULL的使用 预估:10分钟)

4. 查询售价在20到50元之间的图书信息(用2种方式实现)。 (考察:BETWEEN和运算符的使用 预估:15分钟)

5. 查询不属于计算机的图书信息(用2种方式实现)。 (考察:NOT IN和运算符的使用 预估:10分钟)

6. 查询居住在上海和南京的顾客信息,并按照姓名升序排列(用2种方式实现)。 (考察:IN和OR以及排序的使用 预估:15分钟)

7. 查询发货城市在北京和常州的订单信息,并按照发货日期升序排列(用2种方式实现)。 (考察:IN和OR以及排序的使用 预估:15分钟)

8. 查询发货地点以“南”开头的的订单信息,并按照发货日期升序排列。 (考察:模糊查询以及排序的使用 预估:15分钟)

9. 查询书名中含有‘_‘的图书信息,并按照出版日期升序排列。 (考察:模糊查询以及排序的使用 预估:15分钟) 第五章 内置函数

1. 查询所有课程的英文名称(分别用CASE和DECODE方法)。 (考察:CASE和DECODE方法 预估:15分钟)

2. 查询所有学生的成绩(用等级表示:低于60表示不及格;60~70表示及格;70~80表示中等;80~100表示优秀)(用CASE方法)。

(考察:CASE方法 预估:15分钟)

参照教材附录B表完成下面习题:

3. 根据所在城市查询顾客所在的省(分别用CASE和DECODE方法)。 (考察:CASE和DECODE方法 预估:15分钟)

4. 创建所有客户的列表,如果一个客户不是由其他客户介绍来的,则显示字符‘NO REFERRED’。 (考察:CASE方法 预估:10分钟)

5. 显示所有图书的毛利(百分数)的列表,毛利应该显示为一个没有小数位的整数(就是乘以100),后面带有百分号(例如:0.2793=28%)。

版权所有 南京联迪杰易软件培训学校

第 12 页 共 19 页

数据库练习题库

(考察:ROUND方法 预估:15分钟)

6. 显示所有图书的成本的最小整数。 (考察:CEIL方法 预估:5分钟)

7. 显示所有图书的成本和售价均截断小数点后的数值。 (考察:TRUNC方法 预估:5分钟)

8. 求出所有图书的成本和售价的余数。 (考察:MOD方法 预估:5分钟)

9. 显示所有图书的种别和书名,中间用'-’连接。 (考察:CONCAT方法 预估:5分钟)

10. 显示所有顾客的姓名,地址,城市,中间用'/’连接,显示长度到80。 (考察:CONCAT和VARCHAR方法 预估:10分钟)

11. 显示出版社名的开头4位以及联系人的姓。

(考察:SUBSTR方法以及字节数 预估:10分钟)

12. 显示把顾客所在城市是上海的替换成英文。 (考察:REPLACE方法 预估:10分钟)

13. 显示所有顾客的姓名,对于是直辖市的,需显示空白,否则显示城市名称。 (考察:NULLIF方法 预估:10分钟)

14. 重复显示发货城市4遍。

(考察:REPEAT方法 预估:5分钟)

15. 显示订单订单日期和发货日期的年。 (考察:YEAR方法 预估:5分钟)

16. 显示订单日期和发货日期。

(考察:DATE方法 预估:5分钟)

17. 显示当前系统时间。

(考察:TIME方法 预估:5分钟)

18. 显示当前系统时间的秒。

(考察:SECOND方法 预估:5分钟)

19. 显示订单日期和发货日期的月份。 (考察:MONTH方法 预估:5分钟)

20. 显示当前系统时间的分。

(考察:MINUTE方法 预估:5分钟)

21. 显示当前系统时间的小时。

(考察:HOUR方法 预估:5分钟)

22. 显示书名从第2个汉字的书名以及图书编号的后四位。 (考察:SUBSTR方法 预估:5分钟)

23. 显示书名中‘子’出现的位置。

(考察:POSSTR方法 预估:5分钟)

版权所有 南京联迪杰易软件培训学校

第 13 页 共 19 页

数据库练习题库

第六章 多表查询

参照附录B完成练习 1. 创建一个列表,显示每本书的书名及出版社办公室中你再次订购每本书时需要联系的人的姓名和电话。(传统和JOIN方法)。

(考察:一般关联查询 预估:30分钟) SELECT A.Title,B.Contact,B.Phone FROM books A,publisher B WHERE A.PubID=B.PubID;

2. 确定哪些订单还没发货以及下达这些订单的客户的姓名,将结果按下达订单的日期排序(传统和JOIN方法)。

(考察:一般关联查询 预估:30分钟) SELECT A.OrderID,B.LastName,B.FirstName FROM orders A,customers B WHERE A.Customer=B.Customer AND A.ShipDate IS NULL ORDER BY A.OrderDate;

3. 列出已经购买了计算机种类的所有人的客户号和姓名以及书名和订单号。 3.1 查询计算机种类的图书编号。

3.2 查询订单详细表中是图书编号是3.1得到编号的订单号。 3.3 查询订单中订单号是3.2得到编号的顾客编号。 3.4 根据3.3的顾客编号得到顾客的姓名。 (传统和JOIN方法)

(考察:一般关联查询 预估:40分钟)

SELECT A.Customer,A.LastName,A.FirstName,B.Title,C.OrderID FROM Customers A,books B,orders C,orderitems D

WHERE B.ISBN=D.ISBN AND D.ORDERID=C.OrderID AND C.Customer=A.Customer AND B.Category='computer'; 4. 确定李三已经购买了哪些书。 4.1 查询李三的顾客编号。

4.2 查询订单表中李三编号对应的订单号。

4.3 查询订单详细表中4.2的订单号对应的图书编号。 4.4 根据图书编号取得书名。 (传统方法)

(考察:一般关联查询 预估:30分钟) SELECT A.Title

FROM books A,orders B,customers C,orderitems D

WHERE c.LastName='GIANA' AND C.FirstName='TAMMY'AND C.Customer=B.Customer AND b.OrderID=D.ORDERID AND d.ISBN=a.ISBN;

5. 确定销售给王五的每一本书的利润。将结果按订单日期排序。如果订购了多本书,那么将结果按利润的降序排列。(传统和JOIN方法)

(考察:一般关联查询 预估:30分钟) SELECT A.Retail-A.Cost

FROM books A,orders B,customers C,orderitems D

WHERE c.LastName='GIANA' AND C.FirstName='TAMMY'AND C.Customer=B.Customer AND b.OrderID=D.ORDERID AND d.ISBN=a.ISBN

ORDER BY b.OrderDate , (A.Retail-a.Cost) DESC;

6. 哪一本书是由叫洪海的作者编写的?(传统和JOIN方法) (考察:一般关联查询 预估:30分钟) (考察:一般关联查询 预估:30分钟) SELECT A.Title

FROM books A,Author B,bookauthor C

WHERE B.AuthorID=C.AUTHORid AND c.ISBN=a.ISBN AND b.Lname='BAKER'AND b.Fname='JACK'; 7. 得到居住在南京并且订购了计算机图书的所有客户的列表。(传统和JOIN方法) (考察:一般关联查询 预估:30分钟) SELECT A.LastName,A.FirstName

FROM customers A,orders B,orderitems C,books D

版权所有 南京联迪杰易软件培训学校

第 14 页 共 19 页

数据库练习题库

WHERE A.City='CHICAGO'AND D.Category='computer' AND a.Customer=b.Customer AND b.OrderID=c.ORDERID AND c.ISBN=d.ISBN; 8. 查询所有订单购买的图书书名。(JOIN方法) (考察:外关联查询 预估:30分钟) SELECT B.OrderID,A.title

FROM orderitems C RIGHT OUTER JOIN orders B ON b.OrderID=c.ORDERID LEFT OUTER JOIN books A ON c.ISBN=a.ISBN;

9. 查询所有图书列表,及被哪些顾客购买以及该顾客的信息。(JOIN方法) (考察:外关联查询 预估:30分钟) SELECT A.Title,d.LastName,d.FirstName

FROM books A LEFT OUTER JOIN orderitems B ON a.ISBN=b.ISBN

LEFT OUTER JOIN orders C ON b.ORDERID=c.OrderID

LEFT OUTER JOIN customers D ON c.Customer=d.Customer;

10. 查询所有作者编写了哪些图书。(JOIN方法) (考察:外关联查询 预估:30分钟) SELECT A.LName,A.FName,C.title

FROM author A LEFT OUTER JOIN bookauthor B ON a.AuthorID=b.AUTHORid LEFT OUTER JOIN books C ON b.ISBN=c.ISBN;

11. 查询所有作者编写了哪些图书以及购买该图书的顾客信息。(JOIN方法) (考察:外关联查询 预估:30分钟)

SELECT A.LName,A.FName,C.title,f.LastName,f.FirstName FROM author A LEFT OUTER JOIN bookauthor B ON a.AuthorID=b.AUTHORid LEFT OUTER JOIN books C ON b.ISBN=c.ISBN

LEFT OUTER JOIN orderitems D ON c.ISBN=d.ISBN

LEFT OUTER JOIN orders E ON d.ORDERID=e.OrderID

LEFT OUTER JOIN customers F ON e.Customer=f.Customer;

12. 得到所有居住在南京的顾客以及他订购图书的信息。(JOIN方法) (考察:外关联查询 预估:30分钟) SELECT A.LastName,A.FirstName,D.Title

FROM customers a LEFT OUTER JOIN orders B ON a.Customer=b.Customer

LEFT OUTER JOIN orderitems C ON b.OrderID=c.ORDERID LEFT OUTER JOIN books D ON c.ISBN=d.ISBN

WHERE A.City='CHICAGO';

13. 得到订单年在2003和2004年的订单信息以及顾客姓名。 (UNION,UNION ALL,传统和与JOIN方法)

(考察:UNION查询 预估:40分钟) SELECT A.orderID,B.LastName,B.FirstName FROM orders A,customers B

WHERE a.Customer=b.Customer AND YEAR(A.OrderDate) =2003 UNION ALL

SELECT A.orderID,B.LastName,B.FirstName FROM orders A,customers B

WHERE a.Customer=b.Customer AND YEAR(A.OrderDate) =2004;

版权所有 南京联迪杰易软件培训学校

第 15 页 共 19 页

数据库练习题库

SELECT A.orderID,B.LastName,B.FirstName FROM orders A JOIN customers B ON a.Customer=b.Customer WHERE YEAR(A.OrderDate) =2003 UNION ALL

SELECT A.orderID,B.LastName,B.FirstName FROM orders A JOIN customers B ON a.Customer=b.Customer

WHERE YEAR(A.OrderDate) =2004; 第七章 分组查询

1. 查询单科成绩最高的分数和课程名,按照课程名排序(多表关联,GroupBy子句) (传统和JOIN方法)。

1.1 查询单科成绩最高的课程编号和成绩。

1.2 用1.1得到的课程号得出课程名。 (考察:多表关联查询 预估:40分钟)

SELECT MAX(A.score),B.Classname

FROM tbl_scoreinfo A,tbl_classinfo B WHERE A.CLASSNO=b.CLASSNO GROUP BY B.CLASSNO ORDER BY b.classname;

2. 查询单科成绩最低分数和课程名,按照课程名排序(多表关联,GroupBy子句)。(传统和JOIN方法)

(考察:多表关联查询 预估:10分钟) SELECT MIN(A.score),B.Classname

FROM tbl_scoreinfo A,tbl_classinfo B WHERE A.CLASSNO=b.CLASSNO GROUP BY B.CLASSNO ORDER BY b.classname;

3. 查询平均分大于80分的学生的姓名,按照姓名排序 。(多表关联 ,having 子句) (传统和JOIN方法)

SELECT A.StuName, A.STUNO,AVG(b.SCORE) FROM tbl_studentinfo A JOIN tbl_scoreinfo B ON A.STUNO=b.STUNO GROUP BY A.STUNO

HAVING AVG(b.SCORE)>80

ORDER BY A.STUNAME;

(考察:多表关联查询 预估:40分钟)

4. 查询科目中,80分以上 或者 不及格的人的人数。按课程分组。 (考察:多表关联查询 预估:20分钟) SELECT b.CLASSNAME,COUNT(A.SCORE)

FROM tbl_scoreinfo A JOIN tbl_classinfo B ON a.CLASSNO=b.CLASSNO

WHERE a.SCORE>80 OR A.SCORE<60 GROUP BY B.CLASSNO;

5. 英语课的平均分数,最低,最高分数。 (考察:多表关联查询 预估:20分钟) SELECT AVG(A.score),MAX(A.score),MIN(A.score) FROM tbl_scoreinfo A,tbl_classinfo B

WHERE a.CLASSNO=b.CLASSNO AND b.CLASSNAME='English' GROUP BY b.CLASSNAME;

6. 最低分比最高分低40分的课程名。

(考察:多表关联查询 预估:20分钟) SELECT A.classname

FROM tbl_classinfo A,tbl_scoreinfo B WHERE a.CLASSNO=b.CLASSNO GROUP BY a.CLASSNO

版权所有 南京联迪杰易软件培训学校

第 16 页 共 19 页

数据库练习题库

HAVING (MAX(b.SCORE)-MIN(b.SCORE))>40;

7. 查询每门课最高分的人的学号和科目,成绩。

(考察:GroupBy查询 预估:10分钟) SELECT A.stuno,c.CLASSNAME,MAX(b.score)

FROM tbl_studentinfo A,tbl_classinfo C,tbl_scoreinfo B WHERE a.STUNO=b.STUNO AND b.CLASSNO=c.CLASSNO GROUP BY C.CLASSNO;

8. 日语课不及格的人数。

(考察:COUNT查询 预估:10分钟) SELECT b.CLASSNAME,COUNT(a.score) FROM tbl_scoreinfo A,tbl_classinfo B

WHERE a.CLASSNO=b.CLASSNO AND b.CLASSNO=002 AND a.SCORE<60 GROUP BY b.CLASSNO;

9. 查询李四的考试总分数。

(考察:SUM查询 预估:10分钟) SELECT b.STUNAME,SUM(a.score)

FROM tbl_scoreinfo A JOIN tbl_studentinfo B ON a.STUNO=b.STUNO WHERE b.STUNAME='lisi' GROUP BY b.STUNO

10,所有考试有过不及格的学生人数 (考察:COUNT查询 预估:10分钟) SELECT COUNT(a.stuname)

FROM (SELECT tbl_studentinfo.STUNAME FROM tbl_studentinfo,tbl_scoreinfo

WHERE tbl_studentinfo.STUNO=tbl_scoreinfo.STUNO AND tbl_scoreinfo.SCORE<60 GROUP BY tbl_studentinfo.STUNO)A;

(考察:AVG,SUM,GROUP BY查询 预估:10分钟)

12. 所有的图书书名,及平均成本,平均售价,最低成本,最高成本最低售价,最高售价,总成本,总售价,书的总数。

(考察:AVG,SUM,GROUP BY查询 预估:20分钟) SELECT

a.Title,AVG(a.cost),AVG(a.retail),MAX(a.cost),MIN(a.cost),MAX(a.retail),MIN(a.retail),SUM(a.cost),SUM(a.retail),COUNT(a.cost) FROM books A;

13. 订单中所有的图书书名,及其销售的数量。 (考察:SUM,GROUP BY查询 预估:20分钟) SELECT a.Title,C.quantity

FROM books A,orders B,orderitems C

WHERE a.ISBN=c.ISBN AND b.OrderID=c.ORDERID GROUP BY a.ISBN;

14. 查询每个图书种类数量。

(考察:COUNT,GROUP BY查询 预估:10分钟) SELECT a.category,COUNT(a.Title) FROM books A

GROUP BY a.category;

15. 查询每个出版社出版的图书数量。

(考察:COUNT,GROUP BY查询 预估:10分钟)

SELECT a.Name,COUNT(b.Title) FROM publisher A,books B WHERE a.PubID=b.PubID GROUP BY a.Name;

版权所有 南京联迪杰易软件培训学校

第 17 页 共 19 页

数据库练习题库

第八章 子查询

1. 查询没参加过考试的学生的姓名,性别。(两种方式) (考察:IN,EXISTS条件子查询 预估:30分钟) SELECT STUNO,STUNAME,STUSEX FROM tbl_studentinfo A

WHERE STUNO NOT IN(SELECT DISTINCT STUNO FROM tbl_scoreinfo WHERE STUNO=A.STUNO)

SELECT B.STUNO,B.STUNAME, B.STUSEX FROM tbl_studentinfo B

WHERE NOT EXISTS(SELECT STUNO

FROM tbl_scoreinfo WHERE STUNO=B.STUNO)

参看教程附录B表,完成下列习题:

2. 确定哪些书的零售价低于销售所有图书的平均零售价。 (考察:条件子查询 预估:10分钟)

SELECT Title ,Retail FROM books

WHERE retail< ( SELECT AVG(Retail) FROM books);

3. 确定哪些书的成本低于同一类中其他图书的平均成本。

(考察:虚拟表子查询 预估:30分钟)

4. 确定哪些订单将发到与订单1014相同的城市。

(考察:IN,EXISTS条件子查询,虚拟表子查询 预估:40分钟)

5. 确定哪些订单的总应付款项比订单1003更高。

(考察:虚拟表子查询 预估:50分钟)

6. 列出发货延迟时间最长的客户所在城市。

(考察:虚拟表子查询 预估:50分钟)

7. 确定哪些客户订购了销售最便宜的图书。

(考察:HAVING ,IN,EXISTS条件子查询 预估:40分钟)

8. 确定多少个不同的客户订购了张二编著的图书。

(考察:虚拟表子查询, EXISTS条件子查询 预估:30分钟)

9. 确定谁订购了陈洪编写的成本最高的图书。

(考察:HAVING ,IN,EXISTS条件子查询 预估:30分钟)

10. 确定2003年3月到4月订购图书的顾客信息。 (考察:IN,EXISTS条件子查询 预估:30分钟)

11. 确定销售量最高的图书信息。

(考察:虚拟表子查询 预估:30分钟)

12. 确定订单中发往南京的顾客信息。

(考察:IN,EXISTS条件子查询,虚拟表子查询 预估:30分钟)

13. 确定出版计算机类图书的出版社信息。

(考察:IN,EXISTS条件子查询,虚拟表子查询 预估:30分钟)

版权所有 南京联迪杰易软件培训学校

第 18 页 共 19 页

数据库练习题库

14. 确定出售价在20至50元之间图书的出版社信息。

(考察:IN,EXISTS条件子查询,虚拟表子查询 预估:30分钟)

15. 确定还没有发货出去的其顾客信息。

(考察:IN,EXISTS条件子查询,虚拟表子查询 预估:30分钟) 第九章 其他数据对象

1. 参照书上附录A的表,创建一个视图,反映每份订单的详细信息,包括书名,客户名。 (考察:视图 预估:30分钟)(命名为ORDER_VI)

2. 创建序列,从9开始的整数,各个值应该比生成的前一个值小3. 允许的最小的可能值为-1,并且不应该允许它进行循环, 这个序列命名为MY_FIRST_SEQUENCE。 (考察:序列 预估:30分钟)

3. 执行一个SELECT语句显示MY_FIRST_SEQUENCE的下一个值。 (考察:序列 预估:5分钟)

4. 执行一个SELECT语句显示MY_FIRST_SEQUENCE的前一个值。 (考察:序列 预估:5分钟)

5. 在顾客表上创建一个索引,以加速根据城市搜索客户的查询。确认索引已经存在,然后删除这个索引。

(考察:索引 预估:30分钟)

6. 删除序列MY_FIRST_SEQUENCE。 (考察:序列 预估:5分钟)

版权所有 南京联迪杰易软件培训学校

第 19 页 共 19 页

本文来源:https://www.bwwdw.com/article/z7r6.html

Top