博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL --mysql的sql执行顺序
阅读量:5915 次
发布时间:2019-06-19

本文共 829 字,大约阅读时间需要 2 分钟。

hot3.png

直接上sql完整的代码

(8)select(9)distinct    t1.id,t1.name(1)from     t_table1 t1 (3)
join t_table2 t2(2)on t1.id = t2.id(4)where
(5)group by
(6)with
(7)having
(10)order by
(11)limit

分析sql处理的每个阶段

1.from:对from后面的表进行笛卡尔积,产生虚表VT1
2.on:对虚表VT1进行on筛选,产生虚表VT2
3.join:如果是inner join,则直接产生VT3==VT2,如果是outer join(即left join或right join或full join),那需要按照外部链接规则,将VT1中没有匹配到的数据添加到VT2,产生VT3
4.where:对虚表VT3进行where过滤,符合条件的数据被记录到虚表VT4中
5.group by:对虚表VT4进行分组操作,产生VT5
6.cube | rollup:对虚表VT5进行cube或rollup操作,产生虚表VT6
7.having:对虚表VT6进行having过滤,产生VT7
8.select:执行select操作,选择虚表VT7中指定的列,插入到虚表VT8中
9.distinct:对虚表VT8进行去重操作,产生虚表VT9
10.order by:对虚表VT9进行排序,产生虚表VT10
11.limit:抽出指定行的记录,产生虚表VT11,将结果返回

转载于:https://my.oschina.net/u/2312022/blog/731323

你可能感兴趣的文章
运营不需要人脉?
查看>>
Spring Cloud Config服务器
查看>>
fprobe使用
查看>>
yum 安装rabbitMQ
查看>>
跟我学《JavaScript高程3》视频教程,下载地址
查看>>
GLSL变量
查看>>
使用nginx—搭建YUM仓库
查看>>
测试人员必学的软件快速测试方法(二)
查看>>
linux下以RPM包安装Oracle 客户端
查看>>
28. PowerShell -- 注册表操作
查看>>
搭建 android sdk环境
查看>>
第14章 grep、sed、awk 正则表达式
查看>>
ant_Jmeter持续集成测试报告优化之添加throughput显示
查看>>
一个=号引发的错误.......
查看>>
CPU显卡内存与3DMAX渲染的关系
查看>>
Hive(一):Hive的安装部署
查看>>
Tomcat9 多端口 多项目
查看>>
cURL: Learning..
查看>>
Codeforces Round #219 (Div. 1) A. Counting Kangaroos is Fun 【二分】
查看>>
Html基础
查看>>