问题 单项选择题

(32)-(35)题使用如下的“作者”表和“图书”表。
作者 作者编号 作者姓名 所在城市
1001王力北京
1002刘方北京
1003张剑上海
1004程红上海
1005张进上海
图书 图书编号 书名 出版单位价格 作者编号
0001计算机应用 青华出版社 26.50 1001
0002C++ 电子工业出版社 32.00 1001
0003计算机基础知识 电子工业出版社 28.00 1002
0004网络应用青华出版社 24.50 1003
0005数据库应用 青华出版社 26.00 1003
0006数据库组成原理 青华出版社 23.00 1003
0007Java 电子工业出版社 27.50 1004
0008网页设计电子工业出版社 31.00 1004

求至少出版两本以上图书的作者姓名及数量,下列SQL语句正确的是

A.SEIECT 作者姓名,COUNT(*).A3 数量 FROM 图书,作者; HAVING COUNT(*)>=2

B.SELECT 作者姓名,COUNT(*)AS数量FROM图书,作者; WHERE作者.作者编号=图书.作者编号; GROUP BY图书.作者编号HAVING COUNT(*)>=2

C.SELECT 作者姓名,COUNT(*)AS数量FROM图书,作者; WHERE作者.作者编号=图书.作者编号; GROUP BY图书.作者编号SET COUNT(*)>=2

D.SELECT作者姓名,COUNT(*)AS数量FROM图书,作者; WHERE作者.作者编号=图书.作者编号; ANDCOUNT(*)>=2; GROUP BY图书.作者编号

答案

参考答案:B

解析:[命题目的] 本题考查了SQL分组计算查询语句的格式及功能。并要求掌握HAVING子句的功能及作用。[解题要点] 本题利用SQL分组查询的功能,查询至少出版2本以上图书的作者,需要利用HAVING子句可以对分组条件做进一步限定。[错解分析] 选项A) 中,没有对查询进行分组;选项C) 中的SET短语错误,对分组条件做进一步限定,需要利用HAVING子句;选项D) 中的也存在语法错误, HAVING子句只能跟在GROUP BY短语后一起使用。[考点链接] SQL语句中为查询输出的字段指定新的字段名,可通过短语的实现。

单项选择题
单项选择题