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

相关推荐
海鸥-w9 分钟前
用python (fastapi)做项目第一天创建项目结构,数据建表,ORM配置安装,写第一个接口
数据库·python·fastapi
zfoo-framework25 分钟前
通过redis-cli+lua脚本查询redis数据
数据库·redis·lua
牛栓柱37 分钟前
【后端实战】用 Supabase + React/TS 零成本构建高并发 Multi-Agent 服务
前端·数据库·人工智能·后端·react.js·前端框架
yuezhilangniao41 分钟前
xtr备份prepare到底变化了啥
mysql
yyk的萌43 分钟前
创建属于自己的mysql的mcp
mysql·adb·ai·mcp
流烟默43 分钟前
腾讯云Centos7.6使用yum安装MySQL8
mysql·centos·腾讯云
仙俊红1 小时前
如何优化 MySQL 深分页 SQL
android·sql·mysql
yyuuuzz1 小时前
谷歌云基础服务的入门认知
linux·运维·服务器·数据库·人工智能·github
超梦dasgg1 小时前
工作中 MySQL 读写分离主从延迟:成因、影响、落地方案、生产实战处理
数据库·mysql
Wonderful U2 小时前
Python+Django实战:打造智能生鲜果蔬进销存管理系统(采购入库、库存预警、销售开单、毛利统计)
数据库·python·django