WHERE 子句过滤行,应用于分组前;HAVING 子句过滤组,应用于分组后且可使用组聚合函数的结果。
WHERE 与 HAVING 子句的区别
在 MySQL 中,WHERE 和 HAVING 子句都用于过滤数据集,但它们在作用范围和使用方式上存在主要差异。
WHERE 子句
HAVING 子句
使用示例
WHERE 子句:
<code class="sql">SELECT * FROM customers WHERE age > 30;</code>
此查询从 customers 表中选择所有年龄大于 30 的客户。
HAVING 子句:
<code class="sql">SELECT city, COUNT(*) AS customer_count FROM customers GROUP BY city HAVING customer_count > 100;</code>
此查询从 customers 表中选择所有客户数量超过 100 个的城市。
总结
以上是mysql中where和having的区别的详细内容。更多信息请关注PHP中文网其他相关文章!