DQL语句的执行顺序
select 5
...
from 1
...
where 2
...
group 3
...
having 4
...
order by 6
...
通过from查询表,经过where条件过滤筛选出有价值的数据后,再进行group by分组,再通过having进一步筛选出有价值的数据,然后通过select查出来,最后通过order by进行排序
1.首先执行where语句过滤原始数据
2.执行group by 进行分组
3.执行having对分组数据进行操作
4.执行select选出数据
5.执行order by排序
**原则:**能在where中过滤的数据,尽量在where中过滤,效率较高。having的过滤式是专门对分组之后的数据进行过滤的。