温馨提示×

解读SQL中HAVING语句的执行顺序

小樊
85
2024-09-10 00:12:35
栏目: 云计算

在 SQL 查询中,HAVING 语句用于过滤分组后的结果

  1. FROM:首先,数据库引擎从 FROM 子句中指定的表或视图中提取数据。
  2. WHERE:然后,数据库引擎应用 WHERE 子句中的条件来过滤原始数据。只有满足条件的行才会被包含在进一步的处理中。
  3. GROUP BY:接下来,数据库引擎根据 GROUP BY 子句中指定的列对过滤后的数据进行分组。
  4. 聚合函数:在每个分组上应用聚合函数(如 COUNT、SUM、AVG 等),以计算每个分组的统计信息。
  5. HAVING:最后,数据库引擎应用 HAVING 子句中的条件来过滤分组后的结果。只有满足 HAVING 条件的分组才会被包含在查询结果中。
  6. SELECT:数据库引擎选择 SELECT 子句中指定的列作为查询结果的输出。
  7. ORDER BY:最后,数据库引擎根据 ORDER BY 子句中指定的列对查询结果进行排序。

因此,HAVING 语句在分组和聚合操作之后执行,用于过滤分组后的结果。这与 WHERE 子句不同,WHERE 子句在分组和聚合操作之前执行,用于过滤原始数据。

0