2018-10-22
阅读量:
978
MySQL中WHERE与HAVING的区别
WHERE 子句作用于表和视图,HAVING 子句作用于组。
两者显著的区别是WHERE子句条件查询的作用域是针对数据表进行操作,而HAVING条件查询则是对查询结果进行操作。
WHERE在分组和聚集计算之前筛选行,而HAVING 在分组和聚集之后筛选分组的行。因此WHERE子句不能包含聚集函数,相反HAVING 子句总是包含聚集函数。(严格说来,也可以写不使用聚集的 HAVING 子句,但这种情况下同样的条件使用WHERE子句速度更快,因为我们避免了为那些不满足WHERE条件的行进行分组和聚集计算)
当真实数据表中没有此数据,这些数据是通过一些函数生成的,就需要使用HAVING子句进行筛选。







评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论