oracle 分组函数、视图

时间:2021-05-24 09:42:30

组函数

  • 分组函数作用于一组数据,对每一组返回一个值
  • 组函数类型:

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;