一文讲懂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)删除。
(0)
用户投稿
上一篇 2022年6月22日
下一篇 2022年6月22日

相关推荐

  • 巨石强森的3个女儿:都避开了父亲的“基因”,漂亮如迪士尼公主

    巨石强森,一个满脸刚硬,一身肌肉的男人,加上他身上的纹身,那就是让人不敢直视的形象:和美距离太远了。 可是,如果这个时候问你一个问题:强森的女儿会是什么样子? 你能想象出来吗?恐怕…

    2022年6月23日
  • 在四川养老,你首选哪个城市?

    四川养老首选成都,毫无疑问! 成都医疗资源得天独厚,交通条件好,社会生活丰富多彩。尤其是华西医院在四川人民心中更是神一样的存在。要是华西医院说你有救,那你赶紧去准备钱吧;要是华西医…

    2022年3月30日
  • 三星证券建议三星分拆代工业务并于美国上市

    品玩7月15日讯,三星证券近日发布报告称,随着DRAM销售额连续两个季度下滑,三星电子须提升晶圆代工领域产品组合多元化,更建议分拆晶圆代工部门,并在美国上市。 “宏观经济进一步恶化…

    2022年7月15日
  • 荧幕硬汉任程伟:一无所有时黄蕾陪伴左右,成名后绝不抛弃妻子

    娱乐圈中有不少明星夫妻,他们有的是在校园中认识,相伴相守到今日。有的是在工作后,才结识,双方志趣相同,共同在娱乐圈中打拼。很多人都觉得,校园恋爱,是一生中最纯洁的一段感情。 年轻时…

    2022年5月12日
  • 同等条件在天津退休和在黑龙江退休,养老金差多少?

    直辖市和省会城市肯定有差别。退休金不好比较,牵扯工龄,工作单位,当初投保金额,比较复杂。 在这只想比较一下医保待遇。天津的职工医保门诊看病,门槛费800元。过了门槛费再看病,三级医…

    2022年4月1日
  • 所谓成熟……

    所谓成熟,就是两个标志: 喜欢的依旧喜欢,但是可以不拥有, 害怕的依旧害怕,但是可以面对

    2022年4月26日
  • Java 深入JVM分析String StringTable

    文章目录 基本特性: 1、字符串常量池Jdk1.7之前位于方法区,1.7开始位于堆 2、字符串常量池中同样的数据只存储一份(固定大小HashTable存储数据) 3、使用 -XX:…

    2022年6月16日
  • 炸灌肠

      老北京的小吃炸灌肠外焦里嫩令很多北京人欲罢不能,在这疫情严重的时期自然是不能出门去庙会或者夜市吃,那么我们自己在家里做吧,其实很简单的。   食材清单   红薯淀粉 200g、…

    2022年5月6日
  • 温杜大师的直属部队首次登场:乐高星球大战75342共和国战斗坦克

    新近上市的一款#乐高# 星球大战套装:“75342 共和国战斗坦克”,共有262块砖、6个人仔。 在2008年,乐高推出了编号7679的共和国战斗坦克套装,有592块砖,搭建成品长…

    2022年8月2日
  • 《羊了个羊》游戏攻略10月28日 10月28日怎么通关技巧

    10月28日羊了个羊有新的关卡,今天的新关卡难度不高比较容易过关,许多小伙伴想知道10月28日的羊了个羊该怎么通关?下面就让小编为大家分享一下羊了个羊10.28的每日一关通关技巧,…

    2022年10月28日

联系我们

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