join(连接)、group by(分组)、order by(排序)、where(条件)是数据库最常用的几个函数,这里简单介绍下各个函数的作用,及其共同使用时的使用顺序。
函数的作用
join:join主要是为了获取两个表中匹配关系时使用。
group by:group by主要用于分组,根据一个或多个列对结果集进行分组,达到对数据的分类更加精确。
order by:数据库中常用order by关键字对结果集进行排序,又可使用desc和asc来进行指定规则的排序。
where:可以在where 子句中指定任何条件,并且可以使用 and 或者 or 组合多个条件。
group by、order by和where的关系
- group by必须位于where 后,order by前。
- group一般与order by一起使用,执行顺序维持group by在前,order by在后。
- 使用group by 后,若想进行再次筛选可以使用having,即having是在分组后进行筛选。
- where是在执行条件后再分组。
- having对一组数据进行操作;where是对行进行操作。
在SQL中执行的顺序
- 先连接from后的数据源(若有join,则先执行on后条件,再连接数据源)。
- 执行where条件
- 执行group by
- 执行having
- 执行order by
- 输出结果。
总体来说,语句编写的顺序为:
select》distinct 》from 》on》 join 》where 》group by 》with cube|rollup 》having 》select》distinct 》order by》 top