跳到主要内容

原理

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 的执行顺序,可以得到

  1. 别名只能在 order by 使用,不允许在 where 子句中使用。
  2. 不包含聚合的函数应该写在 where 子句中,包含聚合函数的条件只能写在 having 子句中。