SQL查询语句执行顺序
在写SQL的时候发现select语句的执行顺序和写的顺序不一样,遂做出记录一探究竟
SQL查询语句的编写顺序是
- SELECT
- FROM
- WHERE
- GROUP BY
- HAVING
- UNION
- ORDER BY
但实际上SQL语句的执行顺序为
- FROM
- WHERE
- GROUP BY
- HAVING
- SELECT
- UNION
- ORDER BY
1、SQL会首先选择我的表从哪里选,这其中包括表的限制条件,(如连接方式JOIN和限制条件ON)
2、SQL会选择我的判断条件是什么,也就是WHERE的问题
3、接着它会group by分组,并执行HAVING语句
4、SELECT 语句是在绝大多数语句执行完之后才执行,所以我们要明白在其前面执行的语句会影响它,并在实际工作中注意。这点尤其重要。
5、有了语句的执行顺序后我们可以发现,order by 最后执行,所以我们可以将select中命名的新字段进行排序。
在这里推荐一个非常好用的工具 navicat ,它可以省去很多繁琐的工作,美化你的SQL语句,让它自动分行,增加代码的可读性,另外还可以用可视化的界面去建字段,输入记录。总之可以说是很方便了。关于它的**版本可以从链接:https://pan.baidu.com/s/1TegBiZZGR0mPKiet3XMntQ
提取码:yixp 下载