mysql中的where having
时间: 2023-11-02 11:02:11 浏览: 96
having-mysql
在MySQL中,WHERE和HAVING都是用于筛选数据的条件语句。它们的主要区别在于使用的时机和筛选的对象。
1. WHERE语句用于在查询之前筛选行。它通常出现在SELECT语句中的FROM子句之后和其他子句(如ORDER BY和GROUP BY)之前。WHERE语句使用表的列名作为条件,对表中的每一行进行筛选,只返回符合条件的行。
2. HAVING语句用于在查询之后筛选行。它通常出现在SELECT语句中的GROUP BY子句之后和其他子句(如ORDER BY)之前。HAVING语句对已经分组的结果进行筛选,只返回符合条件的分组结果。
需要注意的是,WHERE语句基于行的条件进行筛选,而HAVING语句基于分组的条件进行筛选。由于分组是在查询执行过程的较晚阶段进行的,所以HAVING语句可以使用聚合函数和别名来进行筛选,而WHERE语句则不能。
阅读全文