欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > SQL 查询执行顺序

SQL 查询执行顺序

2025/4/7 5:06:20 来源:https://blog.csdn.net/lizhengyu891231/article/details/146979429  浏览:    关键词:SQL 查询执行顺序

SQL 查询的逻辑处理顺序(即 SQL 引擎解析和执行查询的顺序)与书写顺序不同。以下是 SQL 查询的完整执行顺序:

1. 逻辑执行顺序

  1. FROM 和 JOIN - 确定数据来源表并执行连接操作

  2. WHERE - 对行进行筛选

  3. GROUP BY - 将数据分组

  4. HAVING - 对分组结果进行筛选

  5. SELECT - 选择要返回的列

  6. DISTINCT - 去除重复行

  7. ORDER BY - 对结果排序

  8. LIMIT/OFFSET - 限制返回的行数

2. 书写顺序对比

通常我们这样书写 SQL 查询:

SELECT DISTINCT column1, column2
FROM table1
JOIN table2 ON table1.id = table2.id
WHERE condition
GROUP BY column1
HAVING group_condition
ORDER BY column1
LIMIT 10;

3. 详细说明

  1. FROM/JOIN:首先确定数据来源,包括所有表和它们的连接方式

  2. WHERE:应用行级过滤条件,减少后续处理的数据量

  3. GROUP BY:将数据按指定列分组

  4. HAVING:过滤分组后的结果(与 WHERE 不同,WHERE 过滤行,HAVING 过滤组)

  5. SELECT:此时才确定最终返回的列

  6. DISTINCT:去除 SELECT 结果中的重复行

  7. ORDER BY:对最终结果排序

  8. LIMIT/OFFSET:限制返回结果的数量

4. 注意事项

  • 这个顺序解释了为什么不能在 WHERE 子句中使用 SELECT 中定义的别名

  • 聚合函数只能在 SELECT、HAVING 和 ORDER BY 子句中使用,不能在 WHERE 中使用

  • 了解这个顺序有助于编写高效查询和解决复杂查询问题

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词