【MYSQL】聚合查询、分组查询、联合查询_mysql分组查询
目录
- 一、聚合查询
-
- 1.1 聚合函数
-
- 1.1.1 count()
- 1.1.2 sum()
- 1.1.3 avg()
- 1.1.4 max()和min()
- 1.1.5 总结
- 二、分组查询
-
- 2.1 group by 子句
- 2.2 having 子句
- 三、联合查询
-
- 3.1 笛卡尔积
- 3.2 内连接
- 3.3 外连接
- 3.4 自连接
- 3.5 子查询
-
- 3.5.1 单行子查询
- 3.5.2 多行子查询
- 3.5.3 from子句使用子查询
- 四、合并查询
一、聚合查询
聚合查询就是针对表中行与行之间的查询。
1.1 聚合函数
1.1.1 count()
count(列名):查询当前列下面有多少条数据。
select count(*) from 表名;#查询当前表有多少行select count(列名) from 表名;#查询该列有多少行
- count(1),里面加个数字常量也可以达到count(*)的效果,推荐写count(*)。
- 使用count(列名)查询到null时不算入行数。
1.1.2 sum()
把查询到的结果相加。
select sum(列名) from 表名;#将该列所有值相加
- 必须是数字,不是数字会报警告没结果。
- 使用该函数会将null不计算,不会出现加上null和为null的结果。
1.1.3 avg()
求查询到结果的平均值。
select avg(列名/表达式) from 表名;#将该列所有值的平均数
- 必须是数字,不是数字会报警告没结果。
- 使用该函数会将null那行不计算,比如1,2,null平均值为(1 + 2)/
2= 1.5000。
1.1.4 max()和min()
分别返回查到的最大值和最小值。
select max(列名) from 表名;#返回该列最大值


