书写顺序:
1.select
2.distinct
3.form left_table
4.<join> reight_table
5.on <join_condition>
6.where <condition>
7.group by <group_list>
8.with cube|rollup
9.having <having_condition>
10.order by <order_list>
11.limit <limit_number>
执行顺序:
1.form left_table #量表做笛卡儿积
2.on <join_condition> #筛选满足条件的数据
3.<join> right_table #inner join那就正常,outer join添加上on过滤掉的一些行
4.where <condition> #对不满足条件的行进行移除
5.group by <group_list> #分组后只能得到每组的一行或者聚合函数值
6.with cube|rollup #形成超组
7.having <having_condition> #对分组进行筛选
8.select #选出你所需要的列
9.distinct #去重
10.order by <order_list> #排序
11.limit <limit_number> #限制要返回多少行
如果有带括号的子查询优先执行