分组函数:作用于一组数据,并对一组数据返回一个值。
组函数类型:
AVG(平均值)和 SUM (求总和)函数:可以对数值型数据使用。
例:求100号部门员工工资的平均值和总和。
MAX(最大值)和MIN(最小值)函数:可以对任意数据类型的数据使用。
例:求100号部门员工工资和入职日期的最大最小值。
COUNT(计数)函数:如果COUNT(*) 返回表中记录总数,适用于任意数据类型,所以需要参数expr ,如:COUNT(expr) 返回expr不为空的记录总数。
例:计算50号部门获得年终奖金的员工人数。
注:组函数会忽略空值,所以当操作数据中有空值的情况下,应添加NVL函数,使分组函数无法忽略空值。
NVL 函数:将空值转换成一个已知的值。(格式:NVL(expr1, expr2):当expr1为空,则返回expr2)
例:求所有员工的奖金系数的平均值。
DISTINCT 关键字:返回非空且不重复的记录。
例:求得到年终奖金的员工人数。
GROUP BY 子句:可以将表中的数据分成若干组。且在SELECT 列表中所有未包含在组函数中的列都应该包含在 GROUP BY 子句中,而包含在 GROUP BY 子句中的列不必包含在SELECT 列表中。
例:查询所有员工的工资按部门和工作进行分组求和。
HAVING 子句:用于过滤分组数据,一般放在HAVING从句被放置在SQL命令的结尾处。
例:求所有部门的最高工资中大于10000的部门信息。