首页 动态 > 科技 > 正文

MySQL `HAVING` 关键字详解、与 `WHERE` 的区别 📊🧐

导读 在 SQL 查询中,`WHERE` 和 `HAVING` 都用于过滤数据,但它们的使用场景完全不同。简单来说,`WHERE` 用于筛选行,而 `HAVING` 则...

在 SQL 查询中,`WHERE` 和 `HAVING` 都用于过滤数据,但它们的使用场景完全不同。简单来说,`WHERE` 用于筛选行,而 `HAVING` 则用于筛选组(Group)。🌟

例如,当你想从数据库中找出年龄大于18岁的用户时,你会用到 `WHERE`:

```sql

SELECT FROM users WHERE age > 18;

```

但如果你需要统计每个城市用户的平均年龄,并筛选出平均年龄大于30的城市呢?这时就需要 `HAVING`:

```sql

SELECT city, AVG(age) AS avg_age FROM users GROUP BY city HAVING avg_age > 30;

```

注意,`HAVING` 必须配合聚合函数(如 `SUM`, `AVG`, `COUNT` 等)使用,因为它是在分组后进行条件过滤。而 `WHERE` 是在分组前直接过滤行数据。🤔

总结一下,`WHERE` 作用于原始数据行,而 `HAVING` 则作用于分组后的结果。灵活运用两者可以让你的查询更高效!🚀

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。