sql的书写顺序和执行顺序

Posted excellent_1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql的书写顺序和执行顺序相关的知识,希望对你有一定的参考价值。

很多人会问,sql语句不是挺好写的吗,需要去考虑那么多深的问题干嘛,会写能执行且查出结果就行了,但是,咱们得有着一颗钻研之心去看待问题,

不能只看表面,要多动脑去深层次的思考,以下我就详细把sql的执行顺序总结下来

一、书写顺序

简单拿一条sql语句来示范

SELECT Sno,COUNT(*) 选课门数 
 FROM 表名
 WHERE Sdept IN (\'计算机系\',\'土木工程系\',\'临床医学系\') 
 GROUP BY Sno 
 HAVING COUNT(*) > 3
 ORDER BY Sage
 LIMIT 10

 

 这是书写的格式规范,从上到下,一共七个关键字 select --> from -- >where --> group by--> having --> order by --> limit 

二、执行顺序

 那执行顺序是这样吗?肯定不是,要不然,就没有写这篇文章的意义了,电脑是由人控制,执行的思维是和我们人来大脑是一样的,那么是什么个思维呢?

我们要要得到一些我们想要的数据,首先第一步,得去那些表当中,先进去表里面(有可能有很多张表),再根据条件去找,然后分组,再刷选, 再去寻找select,当拿到这些结果时,还要进行降序升序,最后,看我个人需求,需要找前几条

 

执行顺序: from --> where --> group by --> having > --select > --order by > --limit

 

如果有的网友,还是没看懂执行顺序,那我就给大家转载一条链接 https://blog.csdn.net/junhongzhang/article/details/90746217,这个讲的通俗透彻易懂

如果有的网友,这有很专业的版本,https://blog.csdn.net/u013887008/article/details/93377939,这个时一步一步的虚拟表合成,更专业一些

以上是关于sql的书写顺序和执行顺序的主要内容,如果未能解决你的问题,请参考以下文章

Java类加载

6_MySQL_子查询和查询语句书写/执行顺序

SQL语句的执行顺序

JS代码执行机制

一文让你彻底理解SELECT语句的执行逻辑

PHP代码执行顺序