频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

6.5 思考与练习

作者: 史创明、王俊伟 出处:清华大学出版社  (  ) 砖  (  ) 好  评论 ( ) 条  进入论坛
更新时间:2007-04-07 18:23
关 键 词:SQL  SQL2000  微软  数据库
阅读提示:本章介绍几个练习题。

6.5.1  复习题
一、填空题
1.SQL Server为用户提供了四个通配符,它们分别是:%、[ ]、        和_(下划线)。
2.当与BY一起使用时,COMPUTE子句在结果集内生成        和分类汇总。
3.使用UNION子句的查询称为        ,它可以将两个或多个查询的结果集组合为单个结果集,该结果集包含联合查询中所有查询结果集中的全部行数据。
4.某班级的“学生成绩表”包含列“学号”、列“课程代号”、列“成绩”、列“学期号”,将下列统计学期号为“第三学期”的每个学生所有科目的平均成绩的语句填写完整。

SELECT 学号,AVG(成绩)
FROM 学生成绩表
________________
GROUP BY 学号

5.接上题,现在想评定该班级第二学年(包括第三学期和第四学期)的优秀学生奖学金,要求从该班级选出平均成绩排前5名的同学,并显示这些同学的学号和平均成绩。请将下列SELECT语句填写完整。

SELECT _________学号,AVG(成绩) AS 平均成绩     
FROM 学生成绩表
_______________________________ 
GROUP BY 学号
ORDER BY 平均成绩 DESC

6.接上题,学校规定前三学年(第一学期到第六学期)总平均分在90分以上而且没有一次考试不及格(成绩>=60分)的同学可以参加学校最高级别的评奖。要求查询该班级中满足评奖条件的候选人的学号和前三学年的总平均分。下列已给出SELECT语句,请将空白处填写完整。

SELECT 学号,AVG(成绩) AS 三年平均成绩
FROM 学生成绩表
WHERE 学期='第一学期' OR 学期='第二学期'
OR 学期='第三学期' OR 学期='第四学期'
OR 学期='第五学期' OR 学期='第六学期'
GROUP BY 学号
HAVING _______________________________
ORDER BY 三年平均成绩 DESC
二、选择题
1.WHERE子句用来指定        。
A.查询结果的分组条件    B.组或聚合的搜索条件
C.限定返回的行的搜索条件   D.结果集的排序方式
2.GROUP BY子句用来指定       。
A.查询结果的分组条件    B.组或聚合的搜索条件
C.限定返回的行的搜索条件   D.结果集的排序方式
3.HAVING子句用来指定       。
A.查询结果的分组条件    B.组或聚合的搜索条件
C.限定返回的行的搜索条件   D.结果集的排序方式
4.ORDER BY子句用来指定       。
A.查询结果的分组条件    B.组或聚合的搜索条件
C.限定返回的行的搜索条件   D.结果集的排序方式
5.在SQL Server 2000数据库中创建了定单表,其创建语句如下:

CREATE TABLE 定单表
( 定单号   int IDENTITY(1,1) PRIMARY KEY,
雇员代号 int      NOT NULL,
地区代号 int      NOT NULL,
订购日期 datetime  NOT NULL,
订购金额 money    NOT NULL
)

销售经理想要获得总的销售金额和按地区分组的总销售金额。下面哪条语句能完成该任务?
A.SELECT 雇员代号,地区代号,订购金额 B.SELECT 雇员代号,地区代号,订购金额
FROM 定单表 FROM 定单表
ORDER BY 地区代号 ORDER BY 地区代号
COMPUTE SUM(订购金额) COMPUTE SUM(订购金额) BY 地区代号
COMPUTE SUM(订购金额)
C.SELECT 雇员代号,地区代号, D.SELECT 雇员代号,地区代号,
SUM(订购金额)         SUM(订购金额)
FROM 定单表 FROM 定单表
GROUP BY 雇员代号,地区代号 GROUP BY 雇员代号,地区代号

6.下面哪些关键字能影响SELECT语句返回的结果的行数?(多选)
A.TOP n        B.WHER
C.ORDER BY      D.DISTINCT
三、简答题
1.Duluth Mutual Life健康保健组织有一个用于跟踪医生和其病人信息的数据库。这个数据库有下列数据表,如表6-3、表6-4、表6-5所示。

示意图

根据这个表结构,回答下列问题。
a)如何生成一个信息表,列出病人的姓名和在医院治疗的日期?
b)如何查询某个特定医生所诊治过的所有病人?
c)如何查询具有相同专业的医生?
d)如何为医生和病人生成一个姓名和电话列表?
2.学生信息系统中有两个表:“学生信息表”和“系信息表”。在学生信息表中有列“学号”、列“姓名”、列“出生日期”、列“系号”,在系信息表中有列“系号”、列“系名”、列“系主任”。请用SELECT语句列出所有学生的学号、姓名和所在的系名。
3.接上题,请用SELECT语句统计并显示每个系的系号、系名以及每个系学生的人数。要求:如果新创建的系还没有学生,就不要显示该系的信息。
4.接上题,请用SELECT语句统计并显示每个系的系号、系名以及每个系学生的人数。要求:如果新创建的系还没有学生,该系也要显示,并且该系的学生人数为0。
5.接上题,教师信息表有“教师代号”、“教师姓名”、“出生日期”、“系号”等列,其中“系号”列是教师信息表引用系信息表的外键。请用SELECT语句列出系号为“12”的系的所有人员的姓名和出生日期(包括学生和教师)。
6.5.2  上机练习
 6-1:使用GROUP BY子句查询
在“经销商”数据库中创建了如下两个表,要求在“雇员表”中添加列“雇员代号”、“雇员姓名”和“通信地址”,并指定列“雇员代号”标识为IDENTITY(10001,1)的关键字段;在“订单表”中添加列“订单号”、“雇员代号”、“客户代号”、“定购日期”和“定购金额”,并指定列“订单号”为关键字段:
CREATE TABLE 雇员表
( 雇员代号  int  IDENTITY(10001,1)  PRIMARY KEY NONCLUSTERED,
雇员姓名  varchar(20)  NOT  NULL,
通信地址  varchar(200)      NULL
)
CREATE TABLE 订单表
( 订单号   int   IDENTITY(1,1) PRIMARY KEY,
雇员代号  int   NOT NULL,
客户代号  int   NOT NULL,
订购日期  datetime   NOT NULL,
订购金额  money   NOT NULL
)

现在需要获得2003年9月1日每个雇员的最高的一笔销售金额,要求列出“雇员代号”、“雇员姓名”、“订购日期”、最高的“订购金额”。

USE 经销商
SELECT a.雇员代号,a.雇员姓名,b.订购日期,MAX(订购金额)
FROM 雇员表 AS a LEFT OUTER JOIN 定单表 AS b
ON a.雇员代号 = b.雇员代号 AND b.订购日期 = '09/01/2003'
GROUP BY a.雇员代号,a.雇员姓名,b.订购日期

 6-2:使用比较运算符的子查询
在示例数据库pubs中,假定每个出版商只位于一个城市,现在查询居住在Algodata Infosystems所在城市中的作者的姓名,可以通过由简单的等号(=)比较运算符引入的子查询编写一条语句。

USE pubs
SELECT au_lname, au_fname
FROM authors
WHERE city =
(SELECT city
FROM publishers
WHERE pub_name = 'Algodata Infosystems')

下面是结果集:

au_lname      au_fname
--------      --------
Carson      Cheryl
Bennet      Abraham

(2 row(s) affected)


回书目   上一节   
发表
查看
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本
名称:2006中国IT论坛精品集合
简介:本书由“51CTO论坛推广联盟”制作完成。书中所有内容均来自各联盟成员的论坛(网站)。制作本书的目的是为了集中大家的优势资源,将更多更精彩的内容带给广大技术爱好者。本书是联盟成立以来制作的第一本书。
关键字阅读
频道精选
主编信箱 热线:010-66476606 告诉我们您想看的:专题 文章
关于我们 | 诚聘英才 | 联系我们 | 网站大事 | 意见反馈 | 网站地图
Copyright©2005-2007 51CTO.COM 版权所有