一文讲懂SQL语法顺序与执行顺序

大家好,我是宁一。

今天讲解SQL教程第17课:SQL语句书写顺序与执行顺序。

SQL 语句的书写顺序与执行顺序不是一致的,我们通过这节课来搞清楚。

1、书写顺序

语句书写顺序很重要,顺序不对会报错的。

我们前面的课程已经学过SELECT、WHERE、ORDER BY、LIMIT、JOIN、UNION、GROUP BY、HAVING语句用法。

如果这些语句在SQL中同时存在,书写顺序是这样的:

SELECT FROM JOIN ON WHERE GROUP BY HAVING UNIONORDER BY LIMIT ;

看着比较复杂,不过我们不需要特意去背,多进行一些实战练习,自然而然就记住了。

2、执行顺序

1.FORM:选择from后面跟的表,产生虚拟表1。

2.ON:ON是JOIN的连接条件,符合连接条件的行会被记录在虚拟表2中。

3.JOIN:如果指定了LEFT JOIN,那么保留表中未匹配的行就会作为外部行添加到虚拟表2中,产生虚拟表3。如果有多个JOIN链接,会重复执行步骤1~3,直到处理完所有表。

4.WHERE:对虚拟表3进行WHERE条件过滤,符合条件的记录会被插入到虚拟表4中。

5.GROUP BY:根据GROUP BY子句中的列,对虚拟表2中的记录进行分组操作,产生虚拟表5。

6.HAVING:对虚拟表5进行HAVING过滤,符合条件的记录会被插入到虚拟表6中。

7.SELECT:SELECT到一步才执行,选择指定的列,插入到虚拟表7中。

8.UNION:UNION连接的两个SELECT查询语句,会重复执行步骤1~7,产生两个虚拟表7,UNION会将这些记录合并到虚拟表8中。

9.ORDER BY: 将虚拟表8中的记录进行排序,虚拟表9。

10.LIMIT:取出指定行的记录,返回结果集。

3、总结:

书写顺序:SELECT -> FROM -> JOIN -> ON -> WHERE -> GROUP BY -> HAVING -> UNION -> ORDER BY ->LIMIT

执行顺序:FROM -> ON -> JOIN -> WHERE -> GROUP BY -> HAVING -> SELECT -> UNION -> ORDER BY ->LIMIT

4、需要注意的地方:

1.SELECT语句总是写在最前面,但在大部分语句之后才执行。所以在SQL语句中,我们不能在WHERE、GROUP BY、 HAVING语句中使用在 SELECT 中设定的别名。

但是MYSQL有个特性,在GROUP BY、 HAVING语句中,可以使用 SELECT 中设定的别名。这不是因为MYSQL中会提前执行SELECT,而是因为在GROUP BY这一步返回了游标,大家了解一下就好。

2.无论是书写顺序,还是执行顺序,UNION 都是排在 ORDER BY 前面的。SQL语句会将所有UNION 段合并后,再进行排序。

我们本节课程总结了sql语句的书写顺序和执行顺序,理解这些有助于我们对sql语句进行优化,提高我们的数据库理解能力。建立我们后面编写复杂SQL的基础。

如果能掌握SQL语句书写顺序和执行顺序,那么恭喜你,已经可以解决大部分的SQL问题了。

下节课我们会开始讲子查询,理解了这节课的内容,后面编写更复杂的SQL也就得心应手了~

点击关注,更新课程第一时间通知哦~

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
用户投稿
上一篇 2022年6月22日 12:15
下一篇 2022年6月22日 12:15

相关推荐

  • 奶茶的做法和配方(草莓奶茶的做法和配方)

    今天小编给各位分享奶茶的做法和配方的知识,其中也会对草莓奶茶的做法和配方进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧! 奶茶的怎么做法 主料 牛奶200ml…

    2022年11月26日
  • 怎么转行总结出成功转行的3个步骤

    01 前段时间,由麦可思研究院发布的《就业蓝皮书:2019年中国大学生就业报告》显示,2018大学毕业生半年内的离职率为33%,主动离职的主要原因是“个人发展空间不够”和“薪资福利…

    2022年11月26日
  • 宝可梦朱紫宝主顺序怎么选择?宝可梦朱紫宝主挑战顺序攻略

    宝可梦朱紫宝主顺序如何选择?宝主挑战的顺序有很多玩家都加入了讨论,大家想要了解清楚正确的挑战顺序,接下来小编就给大家简单的介绍一下宝主挑战的顺序,各位赶紧通过下面的攻略多了解一下详…

    2022年11月25日
  • 客服的岗位职责怎么写(客服工作内容及职责)

    各位小伙伴们大家周一好,又到了每周一给大家分享干货内容的时候啦~ 本期来跟大家分享一下客服工作管理流程以及客服岗位里面的每项职能岗位的核心细则,也是干货满满推荐收藏~ 一.补偿流程…

    2022年11月25日
  • 宝可梦朱紫道馆及宝主攻略顺序是什么 道馆及宝主攻略顺序汇总

    作为宝可梦资深爱好者,小伙伴们对宝可梦朱紫里面的所有道馆恨不得马上跳过,当场就来挑战地区冠军,但这显然是不可能的,你得按照游戏里面遇到的顺序来进行挑战。那么具体的挑战顺序是什么样的…

    2022年11月24日
  • 把一个新产品成功推向市场的6个步骤解析(如何推广新产品)

    据说,给人留下第一印象的机会只有一次。无论是新工作的第一天,还是见你的另一半的父母,或是把你自己介绍给别人,你都希望能表现得风度翩翩、讨人喜欢、优雅。 推出一个新产品也是如此。即使…

    2022年11月24日
  • edge默认主页的网址怎么改 edge默认360搜索更改教程

    Edge默认主页是360搜索怎么取消?最近有用户询问这个问题,Edge浏览器是微软内置的浏览软件,很多用户会选择使用,在使用时发现浏览器主页变成了360搜索,有没有方法可以更改回来…

    2022年11月23日
  • 小红书入驻条件及费用(小红书开店)

    小红书喊你回家开店! 有不少用户都发现,最近在逛小红书的时候,笔记上面多出了一个图片标签,点进入之后便可进入下单页面,还可以通过商品页面找到相关店铺,大大缩短了交易路径。 “很方便…

    2022年11月23日
  • 重庆高风险区一般多长时间解除(重庆成都是高风险区吗)

    重庆这几天的疫情新增情况也是比较严重的,大家对近期的重庆疫情防控措施也都十分关注,据悉目前重庆还存在不少的疫情高风险地区。那么,重庆高风险区一般多长时间解除?对于高风险地区解封时间…

    2022年11月21日
  • 面包车加入货拉拉有什么条件(面包车拉货平台)

    现在大家可以看到各种货拉拉的车在大街小巷穿梭,同城配送都会选择货拉拉搬运,其中面包车是非常常见的一种,一些小伙伴也想加入货拉拉赚钱,那么面包车加入货拉拉有什么条件?下面小编为大家带…

    2022年11月21日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息