1. select语句语法
1.1 sql92语法
select ...,...,...(存在聚合函数)
from ...,...
where 多表的连接条件 and 不包含聚合函数的过滤条件
group by ...,...
having 包含聚合函数的过滤条件
order by ...,...(asc/desc)
limit ...,...
1.2 sql99语法
select ...,...,...(存在聚合函数)
from ... (left/right)join ... on ...多表的连接条件
join ... (left/right)on ... 多表的连接条件
where 不包含聚合函数的过滤条件
group by ...,...
having 包含聚合函数的过滤条件
order by ...,...(asc/desc)
limit ...,...
2.执行过程
首先执行的1部分,构建笛卡尔积,根据相关的过滤条件筛选结果集,分组完成后计算聚合函数的值完成第二次过滤,然后在第2部分中选择相关的字段,最后在第3部分中执行排序和分页操作。
具体如下:
from ...,... -> on -> (left/right join)
-> where -> group by ->
having -> select -> distinct -> order by -> limit