主要是几个关键字的使用。
1、group by
查询分组,一般在提供一些统计信息时用到,每个分组结果一般取每个分组第一行。
格式:group by aa[,bb];
2、having
拥有的意思,必须使用分组的字段或聚合函数处理过的字段,mysql 对其进行了扩展,可以使用 select 或外部 select 检索的字段。
常用于 group by 后,对其分组结果进行筛选。
ps:having 与 where 区别
1、使用顺序 where > group by > having;
2、使用字段 where 可以使用任意字段;
3、通常习惯 where 比较自由,having 通常与 group by 一起使用。
3、order by
排序。
格式:order by field1 [desc|asc],order by field2 [desc|asc];
默认写法:order by field1; #此时默认asc
4、limit
截取结果集。
格式:limit n,m; #第n条开始到第m条
兼容写法(PostgreSQL):limit m offset n;
默认写法:limit m; #此时n为0
5、union
联合:一次性将多表数据取出来,在一个结果集中进行操作。
格式:select a1 from b1 union [all] select a2 from b2;
要求两边字段数一样,如果用 union all 表示在结果集中保留所有数据(包括重复数据)。
小结:
如果在SQL语句中上面子句都用到,使用顺序是:where 子句 > group by子句 > having子句 > order by子句 > limit子句