【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 表名;#返回该列最大值

你可能感兴趣的:(MYSQL,mysql,数据库)