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

题目

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

A.SELECT 姓名,COUNT(*) AS 数量 FROM 图书,作者; HAVING COUNT(*)>=3

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

C.SELECT姓名,COUNT(*) AS 数量 FROM 图书,作者; FOR 作者.作者编号=图书.作者编号; WHERE 图书.作者编号 HAVING COUNT(*)>=3

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


相似考题
更多“求至少出版3本以上图书的作者姓名及数量,下列SQL语句正确的是( )。A.SELECT 姓名,COUNT(*) AS 数 ”相关问题
  • 第1题:

    求至少出版两本以上图书的作者姓名及数量,下列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短语后一起使用。

  • 第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题:

    查询持有外币种类在4种以上人员的姓名,及持有的种类数量,并按种类数量升序排列,数量相同时,则按姓名降序排列,下列语句正确的是( )。

    A.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)>=4; ORDER BY 外币种类,姓名 DESC

    B.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)>=4; ORDER BY COUNT(*),姓名 DESC

    C.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)>=4; ORDER BY 外币种类 AND 姓名 DESC

    D.SELECT 姓名,COUNT(*) AS 外币种类 FROM 持有数; GROUP BY 姓名 HAVING COUNT(*)>=4; ORDER BY 外币种类+姓名 DESC


    正确答案:A
    解析:本题中首先通过GROUP BY短语按“姓名”字段对“持有数”表中的记录进行分组,然后利用COUNT()分组统计每个人持有的外币种类,再通过HAVING子句限定外币种类至少在4种以上的记录;利用ORDER BY短语可以对查询结果进行排序,有升序(ASC)和降序 (DESC)两种,默认的为升序排序方式,如果排序字段有多个,则每个字段之间用逗号隔开。