SQL执行的优先级:
- 首先需要知道我要从哪个表去获取我想要的,也就是from
- 现在我知道从哪个表获取了,可是并不是这个表里面所有的信息都是我需要的,这就是where
- 这个时候是不是需要做一个分组聚合,也就是group by
- 分组聚合后的结果也并不是我们全部都要,我们只要大于10的品类,所以需要把大于10的筛选出来,非大于10的品类过滤掉,这就是having
- 现在我们想要的大部分信息都已经出来了,我们就可以用select把他们查询出来了
- 因为我们最后需要取前三的品类,所以我们需要把查询出来的结果进行一个降序排列,即order by
- 最后一步就是只把前三显示出来,做一个限制就行,也就是limit
以上就是 SQL语句的基本执行顺序,总结一下就是:
from->where->groupby->having->select->orderby->limit