(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语句中为查询输出的字段指定新的字段名,可通过短语的实现。