mysql之条件语句where和having的区别。当我们需要按条件对查询结果进行筛选,就需要条件语句WHERE和HAVING了。
WHERE: 直接对表中的字段进行限定,来筛选结果;
HAVING: 需要跟分组关键字GROUP BY 一起使用,通过对分组字段或分组计算函数进行限定,来筛选结果。
1、WHERE
WHERE: 直接对表中的字段进行限定,来筛选结果;
WHERE特点:直接用表的字段对数据集进行筛选,如果涉及到关联查询从其他的表获取需要的信息,执行时也是通过WHERE条件进行筛选,用筛选后的比较小的数据集进行连接。
2、HAVING
HAVING: 需要跟分组关键字GROUP BY 一起使用,通过对分组字段或分组计算函数进行限定,来筛选结果。
HAVING特点:首先我们要把所有的信息都准备好,包括从关联表中获取需要的信息,对数据集进行分组,形成一个包含所有需要的信息的数据集合。接着在通过HAVING条件的筛选,得到需要的数据。
3、WHERE和HAVING的区别
1、涉及到关联,如果需要通过连接从关联表中获取需要的数据,WHERE是先筛选后连接,而HAVING是先连接后筛选。
2、在需要对数据进行分组统计的时候,HAVING可以完成WHERE不能完成的任务。

网友评论