mysql基础教程(二)-----分组函数、多表查询、常见函数

分组函数

什么是分组函数

分组函数作用于一组数据,并对一组数据返回一个值。

mysql基础教程(二)-----分组函数、多表查询、常见函数

组函数类型

• AVG()

• COUNT()

• MAX()

• MIN()

• SUM()

组函数语法

mysql基础教程(二)-----分组函数、多表查询、常见函数

AVG(平均值)和 SUM (合计)函数

mysql基础教程(二)-----分组函数、多表查询、常见函数

MIN(最小值)和 MAX(最大值)函数

可以对任意数据类型的数据使用 MIN 和 MAX 函数。

mysql基础教程(二)-----分组函数、多表查询、常见函数

COUNT(计数)函数

1、COUNT(*) 返回表中记录总数,适用于任意数据类型。

mysql基础教程(二)-----分组函数、多表查询、常见函数

2、COUNT(expr) 返回expr不为空的记录总数。

mysql基础教程(二)-----分组函数、多表查询、常见函数

分组数据

mysql基础教程(二)-----分组函数、多表查询、常见函数

GROUP BY 子句语法

mysql基础教程(二)-----分组函数、多表查询、常见函数

1、WHERE一定放在FROM后面

2、在SELECT 列表中所有未包含在组函数中的列都应该包含 在 GROUP BY 子句中。

mysql基础教程(二)-----分组函数、多表查询、常见函数

3、包含在 GROUP BY 子句中的列不必包含在SELECT 列表中

mysql基础教程(二)-----分组函数、多表查询、常见函数

4、在GROUP BY子句中包含多个列

mysql基础教程(二)-----分组函数、多表查询、常见函数

非法使用组函数

• 不能在 WHERE 子句中使用组函数。

mysql基础教程(二)-----分组函数、多表查询、常见函数

• 可以在 HAVING 子句中使用组函数。

mysql基础教程(二)-----分组函数、多表查询、常见函数

多表查询

笛卡尔集

笛卡尔集会在下面条件下产生:

  – 省略连接条件

  – 连接条件无效

  – 所有表中的所有行互相连接

为了避免笛卡尔集, 可以在 WHERE 加入有 效的连接条件。

等值连接

mysql基础教程(二)-----分组函数、多表查询、常见函数

表的别名

mysql基础教程(二)-----分组函数、多表查询、常见函数

Join连接

分类:

– 内连接 [inner] join on

– 外连接

  • 左外连接 left [outer] join on

  • 右外连接 right [outer] join on

ON 子句

mysql基础教程(二)-----分组函数、多表查询、常见函数

mysql基础教程(二)-----分组函数、多表查询、常见函数

join连接图示

mysql基础教程(二)-----分组函数、多表查询、常见函数mysql基础教程(二)-----分组函数、多表查询、常见函数mysql基础教程(二)-----分组函数、多表查询、常见函数

mysql基础教程(二)-----分组函数、多表查询、常见函数mysql基础教程(二)-----分组函数、多表查询、常见函数mysql基础教程(二)-----分组函数、多表查询、常见函数mysql基础教程(二)-----分组函数、多表查询、常见函数

注:full join在mysql中不好使,oracle中支持。mysql可以通过left join + union + right join实现(利用union的去重机制)

常见函数

字符函数

mysql基础教程(二)-----分组函数、多表查询、常见函数

大小写控制函数

mysql基础教程(二)-----分组函数、多表查询、常见函数

字符控制函数

mysql基础教程(二)-----分组函数、多表查询、常见函数

数字函数

mysql基础教程(二)-----分组函数、多表查询、常见函数

日期函数

mysql基础教程(二)-----分组函数、多表查询、常见函数

mysql基础教程(二)-----分组函数、多表查询、常见函数

上一篇:oracle wm_concat函数 列转行 分组函数


下一篇:Ogre1.6.5 编译链接错误之FreeImage