HAVINGWHERE 是 MySQL 查询语句中用于筛选数据的两个关键字,它们之间的区别如下:

  1. 作用范围:

    • WHERE:用于在执行 SELECT 语句时,在从表中选择行之前进行筛选,基于行的原始数据进行过滤。
    • HAVING:用于在执行 SELECT 语句时,对分组后的结果进行筛选,基于聚合后的数据进行过滤。
  2. 使用场景:

    • WHERE:常用于过滤单独的行,例如筛选特定日期、价格范围等条件。
    • HAVING:常用于对分组后的结果进行过滤,例如在使用 GROUP BY 子句后,对分组后的结果进行聚合函数筛选。
  3. 使用对象:

    • WHERE:作用于行级数据,即对表中的每一行进行判断。
    • HAVING:作用于分组后的数据,即对聚合函数计算后的结果进行判断。
  4. 使用顺序:

    • WHERE:通常在查询的最开始使用,用于过滤原始数据。
    • HAVING:在使用 GROUP BY 子句后,对分组后的数据进行聚合函数计算,然后在 HAVING 中筛选。

总之,WHERE 用于过滤原始数据,HAVING 用于在 GROUP BY 后对聚合数据进行筛选。它们分别适用于不同的查询需求。


香港五网CN2网络云服务器链接:www.tsyvps.com

蓝易云香港五网CN2 GIA/GT精品网络服务器。拒绝绕路,拒绝不稳定。

蓝易云是一家专注于香港及国内数据中心服务的提供商,提供高质量的服务器租用和云计算服务、包括免备案香港服务器、香港CN2、美国服务器、海外高防服务器、国内高防服务器、香港VPS等。致力于为用户提供稳定,快速的网络连接和优质的客户体验。
最后修改:2023 年 08 月 17 日
如果觉得我的文章对你有用,请随意赞赏