在HAVING子句中编写相关子查询而不是在WHERE子句中编写相关子查询的区别(对查询成本的影响)是什么?
答案 0 :(得分:1)
A WHERE
- 按记录记录条款,而每组评估HAVING
。
这意味着。 WHERE-Clause中的表达式通过过滤掉不匹配的行来减少GROUP BY的行数。如果您没有WHERE子句,则所有记录都将用于GROUP BY。只有最后一步(HAVING)过滤掉那些不符合标准的组。
影响力取决于您的数据。仅使用WHERE-Clause过滤要查询的行,并使用HAVING-Clause按聚合函数进行过滤。