广告
返回顶部
首页 > 资讯 > 数据库 >MySQL语句执行顺序举例解析
  • 184
分享到

MySQL语句执行顺序举例解析

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

目录1、sql数据举例my_user 表数据my_order数据测试数据生成2、SQL的执行顺序1、SQL数据举例 举例:有10个用户,输出在订单表中下单数最多的5个人的名字。 my

1、SQL数据举例

举例:有10个用户,输出在订单表中下单数最多的5个人的名字。

my_user 表数据

my_order数据

my_order,uid对应my_user表的id:

测试数据生成

写一个存储过程,随机插入10000条数据:

CREATE DEFINER=`root`@`localhost` PROCEDURE `test_loop`( )  
 BEGIN  
 DECLARE  
     i INT DEFAULT 1;  
 WHILE  
     i < 10000 DO  
     INSERT INTO my_order ( oid, uid )  
 VALUES  
     (  
     CONCAT( 'o_', DATE_FORMAT( now( ), '%Y%m%d%h%i%s' ), FLOOR(1000 + RAND( )*(9999-1000) )),  
     FLOOR( 1 + RAND( ) * 10 )   
     );  
 SET i = i + 1;  
 END WHILE;  
 END

查询语句:

SELECT
	u.id,
	u.`name`,
	count( o.uid ) count_num 
FROM
	my_user u
	JOIN my_order o ON u.id = o.uid 
GROUP BY
	o.uid 
HAVING
	COUNT( o.uid ) 
ORDER BY
	COUNT( o.uid ) DESC 
	LIMIT 5;

查询结果(以自己数据为准):

统计所有的用户订单数:

SELECT
	u.id,
	u.`name`,
	count( o.uid ) count_num 
FROM
	my_user u
	JOIN my_order o ON u.id = o.uid 
GROUP BY
	o.uid 
HAVING
	COUNT( o.uid ) 
ORDER BY
	COUNT( o.uid ) DESC

结果如下:

该sql 主要考察 group by 和 having 的使用,然后 order by 和 desc 排序

2、SQL的执行顺序

  • FORM: 对FROM左边的表和右边的表计算笛卡尔积,产生虚表VT1。
  • ON: 对虚表VT1进行ON过滤,只有那些符合的行才会被记录在虚表VT2中。
  • JOIN: 如果指定了OUTER JOIN(比如left join、 right join),那么保留表中未匹配的行就会作为外部行添加到虚拟表VT2中,产生虚拟表VT3。
  • WHERE: 对虚拟表VT3进行WHERE条件过滤。只有符合的记录才会被插入到虚拟表VT4中。
  • GROUP BY: 根据group by子句中的列,对VT4中的记录进行分组操作,产生VT5。
  • HAVING: 对虚拟表VT5应用having过滤,只有符合的记录才会被 插入到虚拟表VT6中。
  • SELECT: 执行select操作,选择指定的列,插入到虚拟表VT7中。
  • DISTINCT: 对VT7中的记录进行去重。产生虚拟表VT8.
  • ORDER BY: 将虚拟表VT8中的记录按照进行排序操作,产生虚拟表VT9.
  • LIMIT:取出指定行的记录,产生虚拟表VT10, 并将结果返回。

到此这篇关于Mysql 语句执行顺序举例解析的文章就介绍到这了,更多相关mysql 语句执行顺序内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL语句执行顺序举例解析

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL语句执行顺序举例解析
    目录1、SQL数据举例my_user 表数据my_order数据测试数据生成2、SQL的执行顺序1、SQL数据举例 举例:有10个用户,输出在订单表中下单数最多的5个人的名字。 my...
    99+
    2022-11-13
  • MySQL语句执行顺序和编写顺序实例解析
    select语句完整语法: SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN &l...
    99+
    2022-05-14
    MySQL 语句 执行 编写 顺序
  • MySQL语句执行顺序实例分析
    这篇文章主要讲解了“MySQL语句执行顺序实例分析”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL语句执行顺序实例分析”吧!1、SQL数据举例举例:有10个用户,输出在订单表中下单数...
    99+
    2023-06-30
  • mysql语句执行顺序
    思考: 大家可以思考一下下面sql语句写的有没有问题? select jg.id as goodsId,jm.name,... from jdy_merchant jm left outer join jdy_expr...
    99+
    2018-12-02
    mysql语句执行顺序
  • mysql语句书写和执行顺序的示例分析
    小编给大家分享一下mysql语句书写和执行顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!mysql语句的书写顺序和...
    99+
    2022-10-18
  • mysql select语句的执行顺序
    这篇文章主要讲解了“mysql select语句的执行顺序”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“mysql select语句的执行顺序”吧...
    99+
    2022-10-18
  • SQL查询语句的执行顺序解析
    SQL语句执行顺序 结合上图,整理出如下伪SQL查询语句。 从这个顺序中我们可以发现,所有的查询语句都是从 FROM 开始执行的。在实际执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入。...
    99+
    2021-04-08
    SQL查询语句的执行顺序解析
  • 【MySQL系列】- SELECT语句执行顺序
    【MySQL系列】- SELECT语句执行顺序 文章目录 【MySQL系列】- SELECT语句执行顺序一、MYSQL逻辑查询处理的步骤图二、MYSQL执行顺序详解2.1 执行FROM操作2....
    99+
    2023-10-21
    mysql android 数据库
  • 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
  • SQL语句执行顺序
    sql语法的分析是从右到左 ...
    99+
    2022-10-18
  • ​mysql中语句执行顺序是什么
    这篇文章给大家分享的是有关mysql中语句执行顺序是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL的语句一共分为11步,如下图所标注的那样,最先执行的总是FROM操...
    99+
    2022-10-18
  • 简单了解mysql语句书写和执行顺序
    mysql语句的书写顺序和执行顺序有很大差异。 书写顺序,mysql的一般书写顺写为: select <要返回的数据列> from <表名> <join, left joi...
    99+
    2022-05-14
    mysql 语句 执行 顺序
  • Mysql系列SQL查询语句书写顺序及执行顺序详解
    目录1、一个完整SQL查询语句的书写顺序2、一个完整的SQL语句执行顺序3、关于select和having执行顺序谁前谁后的说明1、一个完整SQL查询语句的书写顺...
    99+
    2022-11-12
  • [转] Oracle sql语句执行顺序
    sql语法的分析是从右到左 一、sql语句的执行步骤: 1)语法分析,分析语句的语法是否符合规范,衡量语句中各表达式的意义。 2)语义分析,检查语句中涉及的所有数据库对象是否存在,且用户有相应的权限。 3)视图转换,将涉及视图的查询语句...
    99+
    2015-06-02
    [转] Oracle sql语句执行顺序 数据库入门 数据库基础教程
  • switch语句执行顺序是什么
    switch语句执行顺序是按照case标签的顺序进行判断,从上到下逐个比较。当找到与表达式匹配的case标签时,会执行该case标签...
    99+
    2023-09-16
    switch
  • 关于SQL语句的执行顺序
    首先,要清楚在一select语句中都会用到哪些关键字: -----------select  -----------from -----------join -----------where -----------gr...
    99+
    2017-11-03
    关于SQL语句的执行顺序
  • mysql查询语句join、on、where的执行顺序
    目录一、典型SELECT语句完整的执行顺序二、from三、on四、on 条件与where 条件1、使用位置2、使用对象3、选择与使用五、join 流程mysql 的执行顺序 一、典型SELECT...
    99+
    2022-11-19
    mysql查询语句执行顺序 mysql join mysql on mysql where
  • 怎么解析Oracle SQL语句执行流程与顺序原理
    怎么解析Oracle SQL语句执行流程与顺序原理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 Oracle SQL语句执行流程与顺序原理...
    99+
    2022-10-19
  • MySQL中SELECT执行顺序的示例分析
    小编给大家分享一下MySQL中SELECT执行顺序的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!SELECT语...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作