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

相关推荐
金伟API102420 分钟前
不会写复杂SQL怎么办?
数据库·sql
执笔为剑40 分钟前
2.1.2-1、V8R3迁移到V8R6-Oracle兼容特性
数据库
geovindu1 小时前
sql:Search-Optimized SQL Queries using mysql 9.0
android·数据库·sql·mysql·数据库开发·数据库架构
for_ever_love__1 小时前
MySQL SELECT 与 WHERE 优化实战:可搜索条件、联合索引与执行计划
数据库·mysql·oracle·select·where·条件优化·查询优化技巧
2501_931803751 小时前
MySQL 锁机制详解
数据库·mysql
Nturmoils2 小时前
SQL 编辑器不只是写查询:我用 KStudio 排查一次订单异常
数据库
IvorySQL2 小时前
PostgreSQL 日报|逻辑解码 DDL 子事务缺陷修复(10 月 12 日)
数据库·postgresql
这个DBA有点耶2 小时前
研发规模/投入最大的国产数据库厂商是谁?拆解五个衡量维度
数据库·程序员·产品
葡萄城技术团队3 小时前
数据库里的数据明明是对的,为什么 BI 报表还是错?
数据库
野生数据人3 小时前
日志平台每日巡检我压成了一条命令链:从 SHOW BACKENDS 到扩缩容的完整步骤
大数据·数据库