SELECT 查询书写顺序和执行顺序

复制代码

在 SQL 中,SELECT 查询中的 SQL 语句的书写顺序并不一定决定执行的顺序。下面是通常的 SELECT 查询语句顺序和执行顺序的描述:

  1. 书写顺序

    • ​SELECT:指定要返回的列。
    • ​FROM:指定要查询的表。
    • ​WHERE:筛选行的条件。
    • ​GROUP BY:对行进行分组。
    • ​HAVING:对分组后的结果进行条件过滤。
    • ​ORDER BY:对结果排序。
  2. 执行顺序: 实际执行过程中,SQL 查询的处理顺序有时候并不按照书写的顺序,而是按照以下逻辑顺序:

    • ​FROM:从指定的表中检索数据。
    • ​WHERE:使用指定条件筛选行。
    • ​GROUP BY:按照指定的列进行分组。
    • ​HAVING:对分组后的结果进行条件过滤。
    • ​SELECT:选择要返回的列。
    • ​ORDER BY:对结果集进行排序。

这些顺序可以帮助理解 SQL 查询的逻辑处理顺序,但并不意味着 DBMS 会按照这个顺序逐步执行。实际上,优化器可能会对查询进行重写或重组,以提高性能。

相关推荐
2401_8314194413 小时前
mysql如何测试用户权限是否生效_使用不同用户身份验证操作
jvm·数据库·python
2301_8092047013 小时前
Redis怎样强行终止陷入死循环的Lua脚本
jvm·数据库·python
2401_8463395613 小时前
mysql如何确保主从数据完全同步_开启半同步复制机制
jvm·数据库·python
Aray123413 小时前
向量数据库核心解析及ChromaDB实操指南
数据库
zxrhhm13 小时前
PostgreSQL 分页性能优化 FETCH WITH TIES 与传统 LIMIT/OFFSET 的对比
数据库·postgresql·性能优化
m0_7414817813 小时前
mysql如何设置定时自动备份脚本_编写shell脚本与cron任务
jvm·数据库·python
m0_6315298213 小时前
如何用 cache 参数控制 Fetch 是否读取浏览器自带的缓存
jvm·数据库·python
HalvmånEver13 小时前
MySQL事务(二)
数据库·mysql
m0_4708576413 小时前
CSS如何实现表单元素的统一样式_使用CSS变量控制输入框状态
jvm·数据库·python
会编程的土豆13 小时前
mysql数据类型
数据库·mysql