oracle 分组函数、视图
组函数
- 分组函数作用于一组数据,对每一组返回一个值
- 组函数类型:
1、计数 count(列名 或 表达式) 对满足的行数进行统计
2、求和 sum(列名 或 表达式) 对数据进行和值计算,如 sum(grade) 计算总成绩
3、平均值 avg(列名 或 表达式) 对数据进行均值计算,如avg(grade)计算平均成绩
4、最大值 max(列名 或 表达式) 筛选最大的数据,如max(sum(grade))筛选最大总成绩
5、最小值 min(列名 或 表达式) 筛选最小数据,如min(sum(grade))筛选最小总成绩
6、标准差 stddev
7、方差 variance
- 组函数忽略空值
分组(group by)
select sno, grade from student group by sno;
不能在where中使用组函数Having 子句
用于过滤分组,满足having子句的分组才会显示
select sno,grade from student having sum(grade)>160;
视图(view)
创建视图
create [or replace] [force/noforce] view view_name
as
select 查询
[with read only constraint]
or replace 表示视图已经存在,代替原视图
force 表示基表不存在,也可以创建视图。但该视图不能正常使用,只有在建立相应基表之后,才能正常使用
noforce 表示基表不存在,不能创建视图,此为默认选项
with read only 说明视图是只读视图,不能进行增删改操作,实际中,基本上不通过试图进行数据增删改
删除视图
drop view view_name;