书写顺序:select--distinct--from--where--group by--having--order by --limit/offset
执行顺序:from--where--group by--having--select--distinct--order by --limit/offset
1.先用from子句选定数据来源;
2.再用where中的条件对step1的数据做筛选;
3.接下来可以选择用group by将step2的结果分成多个组;
4.分组后可以用having筛选符合条件的组;
5.在上述结果之后select出需要的列;
6.select的时候遇到重复数据,如果需要去重,就使用distinct;
7.对选出的结果用order by进行排序;
8.最后如果要指定返回的查询数据范围、条数则使用limit/offset函数。