求至少出版两本以上图书的作者姓名及数量,下列SQL语句正确的是A.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; HAVING COUNT(*)>=2B.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GROUP BY 图书.作者编号 HAVING COUNT(*)>=2C.SELECT 作者姓名,COUNT(*) AS 数量 FROM 图书,作者; WHERE 作者.作者编号=图书.作者编号; GR

题目

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

A.SELECT 作者姓名,COUNT(*) AS 数量 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 作者.作者编号=图书.作者编号; AND COUNT(*)>=2; GROUP BY 图书.作者编号


相似考题
参考答案和解析
正确答案:B
解析:本题利用SQL分组查询的功能,查询至少出版2本以上图书的作者,需要利用HAVING子句可以对分组条件做进一步限定。选项A)中,没有对查询进行分组;选项C)中的SET短语错误,对分组条件做进一步限定,需要利用HAVING子句;选项D)中也存在语法错误,HAVING子句只能跟在GROUP BY短语后一起使用。
更多“求至少出版两本以上图书的作者姓名及数量,下列SQL语句正确的是A.SELECT 作者姓名,COUNT(*) AS 数 ”相关问题
  • 第1题:

    如果要查询所藏图书中,各个出版社图书的最高单价、平均单价和册数,所用的SQL语句是

    A.SELECT出版单位,MAX(单价),AVG(单价),COUNT(*); FROM 图书; GROUP BY 出版单位

    B.SELECT 出版单位,MAX(单价),AVG(单价),COUNT(*); FROM 图书; HAVING 出版单位

    C.SELECT 出版单位,MIX (单价),AVG (单价),COUNT(*); FROM 图书 GROUP BY 出版单位

    D.SELECT出版单位,MIN(单价),AVG(单价),COUNT(*); FROM 图书; HAVING 出版单位


    正确答案:A
    解析:求各个出版社图书的,必须用GROUPBY短语对各个出版社进行分组,求最大值函数为MAX(),求最小值函数为MIN(),COUNT()用以计数,HAVING短语必须与GROUPBY短语一起出现,不能单独使用。

  • 第2题:

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

    A.SELECT作者姓名,cOUNT(*)AS数量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作者.作者编号一图书.作者编号 AND COUNT(*)>=2GROUP BY图书.作者编号


    正确答案:B
    B。【解析】本题要求掌握HAVING子句的功能及作用,选项A中,没有对查询进行分组;选项C中SET短语错误,对分组条件做进一步限定,需要HAVING子句,选项D中也存在语法错误,HAVING子句只能跟在GROUPBY短语后一起使用。

  • 第3题:

    查询北京作者出版的图书情况,要求包含作者姓名、书名和价格信息,并按图书价格降序排列,下列SQL语句正确的是( )。

    A.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;

    JOIN 图书.作者编号=作者.作者编号;

    WHERE 所在城市="北京";

    ORDER BY 价格 DESC

    B.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;

    JOIN 图书.作者编号=作者.作者编号;

    WHERE 所在城市="北京";

    ORDER BY 价格

    C.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;

    WHERE 图书.作者编号 = 作者.作者编号;

    AND 所在城市="北京";

    ORDER BY 价格 DESC

    D.SELECT 作者姓名,书名,价格 FROM 图书,作者 ;

    WHERE 图书.作者编号 = 作者.作者编号;

    AND 所在城市 ="北京";

    ORDER BY 价格


    正确答案:C

  • 第4题:

    图书(图书号,图书名,作者编号,出版社,出版日期)

    作者(作者姓名,作者编号,年龄,性别)

    用SQL语句查询年龄小于平均年龄的作者姓名、图书名,出版社。


    正确答案:
            

  • 第5题:

    对于图书管理数据库,要查询借阅了两本和两本以上图书的读者姓名和单位,请对下面的SQL语句填空: SELECT 姓名,单位 FROM 图书管理!读者; WHERE 借书证号 IN(SELECT【 】FROM 图书管理!借阅; GROUPBY 借书证号 【 】 COUNT(*)>=2)


    正确答案:借书证号 HAVING
    查询操作要用SELECT命令实现。本题是嵌套查询,其内层查询带有限定条件的分组查询。内层查询按借书证号进行分组,也就是按读者进行分组,对借阅表中的每一种借书证号所借的图书数目通过COUNT(*)进行统计,只查询借阅了两本和两本以上图书的借书证号,即COUNT(*)作为HAVING短语的条件,对分组进行限制。内层查询的结果得到借书证号的一个集合。外层查询依据内层查询的结果在读者表中查询相应的读者姓名和单位。