SQL语句的执行顺序怎么理解?


书写顺序

SELECT -> DISTINCT -> FROM -> JOIN -> ON -> WHERE -> GROUP BY -> HAVING -> ORDER BY -> LIMIT

执行顺序

FROM -> JOIN -> ON -> WHERE -> GROUP BY -> HAVING -> SELECT -> DISTINCT -> ORDER BY -> LIMIT

执行顺序解释

1.from 要做数据分析,得先有个表

2.join 一个表可能还不够,两个表甚至多个表都可以,关联条件啥也先不用,可以都来个笛卡儿积先

3.on 在诸多表左右连接后,设定两个表之间的关联键,把不符合条件的全部筛掉

4.where 上三步整合各表,形成一个统一大表;在此大表上,设置筛选条件

5.group by 把指定字段相同的行组合在一起,其余没有加入group by的字段,可以用聚合函数如max/min等合并

6.having 在group by了之后,再度指定筛选条件;注意where和having是不同的,主要在于中间多了group by

7.select 在行层面的处理暂告一段落,在列层面再来一波

8.distinct 指定字段去重

9.order by 指定字段排序,升降序

10.limit 指定哪些行

posted @   lamda表达式先驱  阅读(26)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示