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

相关推荐
爱学java的ptt10 小时前
mysql的存储引擎
数据库·mysql
小宇的天下10 小时前
innovus Flip chip 产品设计方法(3)
数据库·windows·microsoft
龘龍龙10 小时前
Python基础学习(十一)
python·学习·mysql
GalenZhang88810 小时前
使用 Python SDK 将数据写入飞书多维表格
数据库·python·飞书·多维表格
云和数据.ChenGuang10 小时前
GaussDB 期末考试题与面试题
数据库·opengauss·gaussdb·数据库期末试题
不屈的铝合金10 小时前
SQL 语言概述与数据库核心前置配置了解
数据库·sql·mysql·约束·sql 语句分类·字符集配置·校对规则
萧曵 丶10 小时前
可重复读(Repeatable Read)隔离级别下幻读产生的原因
数据库·sql·mysql
Antoine-zxt11 小时前
MySQL宕机日志迷局破解指南:从前台启动到精准排错
数据库·mysql·adb
松涛和鸣11 小时前
DAY47 FrameBuffer
c语言·数据库·单片机·sqlite·html
阳宗德11 小时前
基于CentOS Linux release 7.1实现了Oracle Database 11g R2 企业版容器化运行
linux·数据库·docker·oracle·centos