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 会按照这个顺序逐步执行。实际上,优化器可能会对查询进行重写或重组,以提高性能。

相关推荐
寂寞旅行7 小时前
向量数据库Milvus的使用
数据库·milvus
闻哥7 小时前
Redis事务详解
java·数据库·spring boot·redis·缓存·面试
道亦无名7 小时前
aiPbMgrSendAck
java·网络·数据库
l1t9 小时前
duckdb polyglot 插件的使用
sql·duckdb
面向对象World10 小时前
正点原子Mini Linux 4.3寸800x480触摸屏gt115x驱动
linux·服务器·数据库
dinga1985102611 小时前
mysql之联合索引
数据库·mysql
微风中的麦穗11 小时前
【SQL Server 2019】企业级数据库系统—数据库SQL Server 2019保姆级详细图文下载安装完全指南
大数据·数据库·sqlserver·云计算·个人开发·运维必备·sqlserver2019
zjttsh12 小时前
MySQL加减间隔时间函数DATE_ADD和DATE_SUB的详解
android·数据库·mysql
顾北1212 小时前
SpringCloud 系列 04:Gateway 断言 / 过滤器 / 限流 一站式落地指南
java·开发语言·数据库
禹凕12 小时前
MYSQL——基础知识(NULL 值处理)
数据库·mysql