原理
SQL 的执行顺序
1、SQL 的编写顺序
select...
from...
join...on 表的连接条件
where...不包括聚合函数的条件
group by...
having...包含聚合函数的条件
order by...
limit...
2、SQL 的执行顺序
from ...
join ... on ....
where ...
group by ....
having ....
select ....
order by ....
limit ...
3、结论
from tab1 , tab2 -> on -> left/right join -> where -> group by -> having -> select -> distinct -> order by -> limit
根据 SQL 的执行顺序,可以得到
- 别名只能在 order by 使用,不允许在 where 子句中使用。
- 不包含聚合的函数应该写在 where 子句中,包含聚合函数的条件只能写在 having 子句中。