1.排序
(1)asc 升序(默认可以省略)
select * from 表名 order by 字段名 asc;
(2)desc 降序
select * from 表名 order by 字段名 desc;
2.聚合函数
(1)count 总数
select count(*) from 表名;
(2)最大值
select max(字段) from 表名;
(3)最小值:
select min(字段) from 表名;
(4)求和:
select sum(字段) from 表名;
(5)平均值
select avg(字段) from 表名;
3.分组
select 字段1 from 表名 group by 字段1;
group by + group_concat()
group_concat(字段名)可以作为一个输出字段来使用,
表示分组之后,根据分组结果,使用group_concat()来放置每一组的某字段的值的集合
group by + 聚合函数
通过group_concat()的启发,我们既然可以统计出每个分组的某字段的值的集合,那么我们也可以通过集合函数来对这个值的集合
做一些操作
group by + having
having 条件表达式:用来分组查询后指定一些条件来输出查询结果
4.分页
select 字段1 from 表名 limit 开始数据的位置 ,数据个数;
注意:要达到数据不重复分页,开始数据的位置 = 数据个数*(页数-1)
5.链接:
(1)内链接
select * from 表1 inner join 表2 on 表1.字段=表2.字段;
(2)左链接
select * from 表1 left join 表2 on 表1.字段=表2.字段;
(3)右链接
select * from 表1 right join 表2 on 表1.字段=表2.字段;
6.自关联
select * from 表1 as 别名1 inner join 表1 as 别名2 on 别名1.字段=别名2.字段;
我的理解:就是把一张表通过起别名变成两张表,还是相当于两张表链接。
8.子查询:在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句。
例如:
select * from 表名 where 字段 = (select max(字段) from 某一张表 );