例子:
select *
from
(select * from user where id>10) as table_1
join department as table_2
on table_1.'department_id'=table_2.'id'
where table_1.'salary'>3000
group by department_name
having table_1.'age'>25
order by tbale_1.'age' DESC
limit 1;
select * from (子查询) join 表2 on 联立条件 where 筛选条件 group by 分组条件
having 分组后筛选条件 order by 最后结果排序 limit 最后取结果
1.先执行from中的子查询
2.再根据join找到联立的表
3.根据联立条件联立表
4.再根据where筛选条件筛选
5.再根据group by分组条件分组
6.聚合函数 avg max count
6.分组后再用having子句筛选分组
7.计算所有的表达式 +
8.找到select 需要的字段
9.distinct去重
10.order by 排序
11.limit