group by 分组关键字

having 类似于 where 条件

举栗子

有三个表 数据都是随机生成 如有雷同 全是巧了

一个是学生表 里面有学生信息 TStudent

Sqlserver 基础 (group by..Having...)_聚合函数

一个表是 课程表  Tscore

Sqlserver 基础 (group by..Having...)_多对多_02

一个表是多对多的成绩表 TSubject  

Sqlserver 基础 (group by..Having...)_多对多_03

下面就是通过成绩表与课程表算 平均分

因为课程就三个 所以分成三组  group by 后面跟的 是 聚合函数AVG()前 所有的查询列

Sqlserver 基础 (group by..Having...)_多对多_04

having

那如果 我还想分男女来查询那 那就得加上 学生表 TStudent表

Sqlserver 基础 (group by..Having...)_多对多_05

好 现在我们按照男女又出了 6组数据 但是我们只想要男生或者女生的怎么把 就用 having

Sqlserver 基础 (group by..Having...)_聚合函数_06

结束 虽然我现在也不怎么太会 但是 要写好SQL 一定要学会怎么分解需求

并不是技术差 而是 思路! 要多锻炼 

Sqlserver 基础 (group by..Having...)_多对多_07