查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是( )。A. SELECT职员号FROM订单GROUP BY职员号HAYING COUNT(*)>3 AND AVG_金额>200B. SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 AND AVG(金额)>200C. SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 AND WHERE AVG(金额)>200D. SELECT职员号FROM订单GRO

题目

查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是( )。

A. SELECT职员号FROM订单GROUP BY职员号HAYING COUNT(*)>3 AND AVG_金额>200

B. SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 AND AVG(金额)>200

C. SELECT职员号FROM订单GROUP BY职员号HAVING COUNT(*)>3 AND WHERE AVG(金额)>200

D. SELECT职员号FROM订单GROUP BY职员号WHERE COUNT(*)>3 AND AVG_金额>200


相似考题
参考答案和解析
正确答案:B
利用GROUP BY子句进行分组计算查询,有WHERE子句时,GROUP BY子句一般放在其后,若没有,则跟在FROM子句之后,WHERE子句一般在分组前用于限定元组,分组后一般用HAVING子句限定分组。
更多“查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是( )。A. SELECT职员号F ”相关问题
  • 第1题:

    有以下SQL语句: SELECT订单号.签订日期,金额FROM订单,职员 WHERE订单.职员号=职员.职员号AND姓名=”王五” 与如上语句功能相同的SQL语句是( )。

    A. SELECT订单号,签订日期,金额FROM订单 WHERE EXISTS(SELECT*FROM职员WHERE姓名=”王五”)

    B. SELECT订单号,签订日期,金额FROM订单WHERE EXISTS(SELECT书FROM职员WHERE职员号=订单.职员号AND姓名=”王五”)

    C. SELECT订单号,签订日期,金额FROM订单 WHERE IN(SELECT职员号FROM职员WHERE姓名=”李二”)

    D. SELECT订单号,签订日期,金额FROM订单WHERE IN(SELECT职员号FROM职员WHERE职员号=订单.职员号AND姓名=”王五”)


    正确答案:B
    谓词EXISTS用来检验在子查询中是否有结果返回,本题中内层查询引用了外层查询的表,所以也是内外层互相关嵌套查询。故排除选项A、C、D的错误之处是在 WHERE和IN之间缺少“职工号”。

  • 第2题:

    查询订单数在3个以上、订单的平均金额在200元以上的职员号,正确的SQL语句是 ( )。


    正确答案:B
    查询订单的平均金额在200元以上,可用平均函数为AVG(金额)>200表示,故可排除选项A)和选项D);订单数在3个以上和订单的平均金额200元以上两个条件都是分组限定条件,须放在HAVING子句中。

  • 第3题:

    有以下SQL语句: SELECT 订单号,签订日期,金额 FROM 订单,职员 WHERE 订单.职员号=职员.职员号 AND 姓名="李二" 与如上语句功能相同的SQL语句是( )。

    A.SELECT 订单号,签订日期,金额 FROM 订单 WHERE EXISTS (SELECT*FROM 职员 WHERE 姓名="李二")

    B.SELECT 订单号,签订日期,金额 FROM 订单 WHERE EXISTS(SELECT*FROM 职员 WHERE 职员号=订单.职员号AND姓名="李二")

    C.SELECT 订单号,签订日期,金额 FRM 订单 WHERE IM (SELECT 职员号 FROM 职员 WHERE 姓名="李二")

    D.SELECT 订单号,签订日期,金额 ROM 订单 WHERE IN(SELECT 职员号FROM 职员 WHERE 职员号=订单.职员号 AND 姓名="李二")


    正确答案:B
    解析:题干中的 SQL 语句的功能是:查询那些姓名为“李二”的职员的订单号,签订日期和金额的信息。4个选项中只有选项B中的查询条件与此等价。

  • 第4题:

    有如下SQL语句:

    SELECT订单号,签订日期,金额 FROM 订单,职员:

    WHERE订单.职员号=职员.职员号AND姓名=”李二”

    与如上语句功能相同的SQL语句是( )。


    正确答案:B
    题目中给出的SELECT语句是查找出姓名为“李二”的职员签订的单号、签订日期和金额。选项B)中,使用EXISTS谓词来检查子查询中是否有结果返回,它的查询过程是:外查询中,在订单表中从第一条记录开始取出当前职员号,再在内查询中,针对该职员号,在职员表中逐条记录判断是否存在符合WHERE条件的记录,如果存在,则在外查询的订单表巾找到该职员号对应的订单号、签订日期和金额;然后依次类推,在订单表中从第二条记录中取出当前职员号,再在内查询中进行判断,直到将订单表中的所有记录都处理完毕。

  • 第5题:

    查询订单数在3个以上、订单的平均金额200元以上的职员号。正确的SQL语句是( )。

    A.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG 金额>200

    B.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 AND AVG(金额)>200

    C.SELECT 职员号 FROM 订单 GROUP BY 职员号 HAVING COUNT(*)>3 WHERE AVG(金额)>200

    D.SELECT 职员号 FROM 订单 GROUP BY 职员号 WHERE COUNT(*)>3 AND AVG 金额>200


    正确答案:B
    解析:查询订单的平均金额200元以上,用平均函数表示为AVG (金额)>200,故可排除选项A和选项D;订单数在3个以上和订单的平均金额200元以上两个条件要同时满足是逻辑“与”关系,故选项B正确。