select查询语句执行顺序
2022-03-03 15:33:11 0 举报
SQL中select查询语句的执行顺序,及每个查询关键字的作用
作者其他创作
大纲/内容
union
11
13
7
1.执行顺序从后往前、从右到左;2.最后的表为驱动表,“小表驱动大表”;3.执行笛卡尔积;4.生成虚拟表VT1;
1.将SELECT指明的列从VT7中筛选出来;2.生成VT8;
groupby
4
1.将VT9中的行按ORDER BY中的列/列表排序;2.生成游标VC10;3.这里不能使用表达式;4.按从左到右的顺序执行;5.该语句很消耗资源;
1.从VC10的开始处选择指定数量行;2.生成虚拟表VT11
10
having
1.对select的结果进行合并;2.默认去掉重复的记录;
1.将VT4中每行唯一的值组合成一组;2.生成虚拟表VT5;3.可以使用聚合函数(count、sum、avg等);4.在这之后的语句,都可以使用别名
select
1.对VT6使用HAVING筛选器;2.生成VT7;3.可以使用聚合函数,过滤聚合值;4.可以配合GROUP BY子句
1.对VT5应用ROLLUP或CUBE选项;2.生成VT6;3.CUBE显示所选列中所有值的组合;4.ROLLUP显示所选列中某一层次结构的聚合
聚合函数
join
from
1.对虚拟表VT1 应用ON筛选器;2.生成虚拟表 VT2
12
6
5
1.利用函数计算从列中得到的值;2.AVG、COUNT、MAX、MIN、SUM、FIRST、LAST等
distinct
on
9
1.将重复的行从VT8中移除;2.产生虚拟表 VT9
2
limit
1
3
where
orderby
8
1.对VT3应用WHERE筛选器;2.不能在WHERE中使用聚合函数;3.不能对列使用别名;4.生成VT4;
WITH CUBE | ROLLUP
1.生成虚拟表 VT3;2.LEFT OUTER JOIN把左表记为保留表;3.RIGHT OUTER JOIN把右表记为保留表4.FULL OUTER JOIN把左右表都作为保留表
0 条评论
回复 删除
下一页