格式:
SELECT select_list
FROM table_list
[where conditions]
[Group by group_by_list]
[Having conditions]
[Order by order_by_list]
当在查询的SELECT列表中有聚集函数时,WHERE子句的条件适用于计算聚集值的行,同时HAVING的条件适用于计算聚集函数后和建立组后的最终结果.记住这种区别方法之一就是在SELECT语句中对子句重新排序,记住WHERE在FROM之后,HAVING在GROUP BY之后.
下面为当查询包含WHERE,GROUP BY,聚集函数和HAVING时的步骤:
1)WHERE子句首先查找您想要的行;
2)GROUP BY子句将这些行分成组;
3)组形成后,sql对每一组计算聚集函数值(SUM,MIN...);
4)HAVING检查产生结果行的组来看看哪些行满足显示的条件.
注意:您可以使用WHERE而不是HAVING子句删除任何行,使得您的查询更有效率,因为您有更少的行要成组,更少的行要进行聚集运算.使用HAVING子句限制的是组,而不是行.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。