首页 > 试题广场 > 在SQL中语法规范中,having子句的使用下面描述正确的是
[不定项选择题]
在SQL中语法规范中,having子句的使用下面描述正确的是:(       )
  • having子句即可包含聚合函数作用的字段也可包括普通的标量字段
  • 使用having的同时不能使用where子句
  • having子句必须于group by 子句同时使用,不能单独使用
  • 使用having子句的作用是限定分组条件
  • Having子句和where子句是等同的
  • 如果select语句中没有聚合函数的使用,就不能使用having子句
  • where子句 = 指定行所对应的条件
  • having子句 = 指定组所对应的条件
  • D中是Group by才用来分组的,group by的作用是限定分组条件,而having则是对group by中分出来的组进行条件筛选。
  • 所以用having就一定要和group by连用,且是先group by XXX 再having XXX,用group by不一有having(它只是一个筛选条件用的)
发表于 2019-10-17 16:06:15 回复(0)
A F:having子句即可包含聚合函数作用的字段也可包括普通的标量字段,实施上所有的where子句都可以用having代替
B、C、E:where子句是过滤行;having子句是过滤分组。where在数据分组之前使用,having在数据分组之后使用,可以同时使用。
D:group by 子句是限定分组条件的,having是过滤分组的
发表于 2020-03-26 20:46:03 回复(0)
聚合函数是 max min avg 等
发表于 2020-03-27 22:48:25 回复(0)

having可单独使用,如果跟groupby一起使用,则作用于分组结果集,否则作用于全表

编辑于 2019-10-06 15:25:03 回复(2)
F不是对的么?

发表于 2020-07-06 16:18:34 回复(0)
C 答案是错误的, having 可以单独使用 
譬如 SELECT union_id FROM person HAVING union_id>1379  这个就可以单独执行

where 后面要跟的是数据表里的字段,where针对数据库文件的发挥作用。

而having只是根据前面查询出来的结果集再次进行查询,因此having是针对结果集发挥作用。


编辑于 2020-06-30 16:54:09 回复(0)
A.having可以用聚合函数,where不可以
B.不冲突
C.having是对分组后的结果进行条件筛选,所以必须和 group by 连用
D.同C解释
E.同A解释
F.有having是有聚合函数的必要不充分条件
发表于 2020-06-18 14:30:39 回复(0)

解析:HAVING子句中能够使用三种要素:常数,聚合函数,GROUP BY子句中指定的列名(聚合建)

用having就一定要和group by连用, 用group by不一有having(它只是一个筛选条件用的)

有having的地方一定有group by,但group by不是聚合函数

所以没有聚合函数,having可以和group by一起使用

常见的聚合函数:count(),avg(),sum(),max(),min()

发表于 2020-06-08 18:28:18 回复(0)
ACD
发表于 2020-05-15 17:49:22 回复(0)
F. 如果select语句中没有聚合函数的使用,就不能使用having子句
意思是select语句没有聚合函数group by,having子句也可以单独使用么?这时候是筛选的全部的行么?求大佬解释


发表于 2020-02-29 21:16:55 回复(3)