iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中SELECT执行顺序的示例分析
  • 344
分享到

MySQL中SELECT执行顺序的示例分析

2024-04-02 19:04:59 344人浏览 薄情痞子
摘要

小编给大家分享一下Mysql中SELECT执行顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SELECT语

小编给大家分享一下Mysql中SELECT执行顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

MySQL中SELECT执行顺序的示例分析

SELECT语句的完整语法为:

(7) SELECT 
(8) DISTINCT <select_list>
(1) FROM <left_table>
(3) <join_type> JOIN <right_table>
(2) ON <join_condition>
(4) WHERE <where_condition>
(5) GROUP BY <group_by_list>
(6) HAVING <having_condition>
(9) ORDER BY <order_by_condition>
(10) LIMIT <limit_number>

说明:语法前面的序号为SELECT执行顺序

mysql的SELECT执行顺序一共分为10步,如上所标注的那样,最先执行的是FROM操作,最后执行的是LIMIT操作。其中每一次操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回。如果没有在语句中指定某一个子句,那么将会跳过相应的步骤。

下面我们来具体分析一下查询处理的每一个阶段

SELECT a.customer_id, COUNT(b.order_id) as total_orders
 FROM table1 AS a
 LEFT JOIN table2 AS b
 ON a.customer_id = b.customer_id
 WHERE a.city = 'hangzhou'
 GROUP BY a.customer_id
 HAVING count(b.order_id) < 2
 ORDER BY total_orders DESC;

1、FORM: 对FROM左边的表和右边的表计算笛卡尔积,产生虚表VT1。

2、ON: 对虚表VT1进行ON过滤,只有那些符合<join-condition>的行才会被记录在虚表VT2中。

3、JOIN: 如果指定了OUTER JOIN(比如left join、 right join),那么保留表中未匹配的行就会作为外部行添加到虚拟表VT2中,产生虚拟表VT3。

4、WHERE: 对虚拟表VT3进行WHERE条件过滤。只有符合<where-condition>的记录才会被插入到虚拟表VT4中。

5、GROUP BY: 根据group by子句中的列,对VT4中的记录进行分组操作,产生VT5。

6、HAVING: 对虚拟表VT5应用having过滤,只有符合<having-condition>的记录才会被 插入到虚拟表VT6中。

7、SELECT: 执行select操作,选择指定的列,插入到虚拟表VT7中。

8、DISTINCT: 对VT7中的记录进行去重。产生虚拟表VT8.

9、ORDER BY: 将虚拟表VT8中的记录按照<order_by_list>进行排序操作,产生虚拟表VT9.

10、LIMIT:取出指定行的记录,产生虚拟表VT10, 并将结果返回。

以上是“Mysql中SELECT执行顺序的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中SELECT执行顺序的示例分析

本文链接: https://www.lsjlt.com/news/57310.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中SELECT执行顺序的示例分析
    小编给大家分享一下MySQL中SELECT执行顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SELECT语...
    99+
    2022-10-18
  • mysql语句书写和执行顺序的示例分析
    小编给大家分享一下mysql语句书写和执行顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql语句的书写顺序和...
    99+
    2022-10-18
  • mysql select语句的执行顺序
    这篇文章主要讲解了“mysql select语句的执行顺序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql select语句的执行顺序”吧...
    99+
    2022-10-18
  • MySQL语句执行顺序实例分析
    这篇文章主要讲解了“MySQL语句执行顺序实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL语句执行顺序实例分析”吧!1、SQL数据举例举例:有10个用户,输出在订单表中下单数...
    99+
    2023-06-30
  • Shell中管道及执行顺序的示例分析
    这篇文章主要介绍Shell中管道及执行顺序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、基本概念 a、I/O重定向通常与 FD有关,shell的FD通常为10个,即 0~9; b、常用FD有3个,为0(...
    99+
    2023-06-09
  • MySQL之select 语句的执行顺序
    mysql语句编写顺序 ① select 字段名 ② from 表1 inner|left|right join 表2 on 表1 与表2 的关系… ③ where ... ④ group by ... having ...
    99+
    2018-04-07
    MySQL之select 语句的执行顺序
  • SQL查询语句执行顺序的示例分析
    这篇文章主要介绍SQL查询语句执行顺序的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!SQL查询语句执行顺序如下:(7) SELECT  (8)&...
    99+
    2022-10-18
  • MySQL语句执行顺序举例解析
    目录1、SQL数据举例my_user 表数据my_order数据测试数据生成2、SQL的执行顺序1、SQL数据举例 举例:有10个用户,输出在订单表中下单数最多的5个人的名字。 my...
    99+
    2022-11-13
  • &&、()、||决定linux命令执行顺序的示例分析
    小编给大家分享一下&&、()、||决定linux命令执行顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在执行某个命令时,有时需要依赖...
    99+
    2023-06-09
  • javascript之加载顺序与执行原理的示例分析
    这篇文章主要为大家展示了“javascript之加载顺序与执行原理的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript之加载顺序与执行原...
    99+
    2022-10-19
  • MySQL语句执行顺序和编写顺序实例解析
    select语句完整语法: SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN &l...
    99+
    2022-05-14
    MySQL 语句 执行 编写 顺序
  • Mysql中select加锁的示例分析
    这篇文章将为大家详细讲解有关Mysql中select加锁的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。引言大家在面试中有没遇到面试官问你下面六句Sql的区别呢select *...
    99+
    2023-06-02
  • C#中顺序表的示例分析
    这篇文章主要为大家展示了“C#中顺序表的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“C#中顺序表的示例分析”这篇文章吧。首先来看看看C#数据结构与算法之顺序表的概念:C#数据结构与算法...
    99+
    2023-06-18
  • MySQL执行计划的示例分析
    这篇文章主要介绍了MySQL执行计划的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。执行计划是什么执行计划,简单的来说,是SQL在数...
    99+
    2022-10-18
  • JS异步的执行顺序分析
    1.js的执行顺序,先同步后异步2.异步中任务队列的执行顺序: 先微任务microtask队列,再宏任务macrotask队列3.调用Promise 中的resolve,reject...
    99+
    2022-11-13
  • Java顺序表的示例分析
    这篇文章主要介绍Java顺序表的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一 、前言顺序表常用的一种,学习并了解显得十分重要,顺序表为以后的学习打下了基石。二、顺序的定义顺序表示在计算机内存中以数组的形式...
    99+
    2023-06-25
  • JS下大批量异步任务按顺序执行的示例分析
    这篇文章主要介绍了JS下大批量异步任务按顺序执行的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言最近需要做一个浏览器的, 支持大...
    99+
    2022-10-19
  • mysql代码执行结构实例分析【顺序、分支、循环结构】
    本文实例讲述了mysql代码执行结构。分享给大家供大家参考,具体如下: 本文内容: 什么是代码执行结构 顺序结构 分支结构 循环结构  首发日期:2018-04-18 什么是代码执行结...
    99+
    2022-05-22
    mysql 代码执行结构 顺序 分支 循环
  • Vue中加载顺序的示例分析
    这篇文章将为大家详细讲解有关Vue中加载顺序的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。在Vuejs 1.0版本中,如果父子组件进行配合,它们的生命周期执行具...
    99+
    2022-10-19
  • Mysql中Performance_schema SQL执行统计的示例分析
    这篇文章主要为大家展示了“Mysql中Performance_schema SQL执行统计的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Mysql中P...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作