oracleg经典实战第四章数据库的查询和视图.pptVIP

  • 23
  • 0
  • 约2.35万字
  • 约 95页
  • 2022-07-13 发布于重庆
  • 举报

oracleg经典实战第四章数据库的查询和视图.ppt

4.3.2创建视图 【例4.50】创建计算机专业学生的平均成绩视图CS_KC_AVG,包括学号(在视 图中列名为num)和平均成绩(在视图中列名为score_avg)。 CREATE OR REPLACE VIEW CS_KC_AVG(num,score_avg) AS SELECT XH,AVG(CJ) FROM XS_KC GROUP BY XH; 第六十三页,共九十五页。 4.3.3查询视图 1. SELECT语句查询视图 【例4.51】查找计算机专业的学生学号和选修的课程号。 SELECT XH,KCH FROM CS_KC; 【例4.52】查找平均成绩在80分以上的学生的学号和平均成绩。 本例首先创建学生平均成绩视图XS_KC_AVG,包括学号(在视图中列名为 num)和平均成绩(在视图中列名为score_avg)。 CREATE OR REPLACE VIEW XS_KC_AVG ( num,score_avg ) AS SELECT XH,AVG(CJ) FROM XS_KC GROUP BY XH; 再对XS_KC_AVG视图进行查询。 SELECT * FROM XS_KC_AVG WHERE score_avg=80; 第六十四页,共九十五页。 4.3.3查询视图 【例4.52】查找平均成绩在80分以上的学生的学号和平均成绩。 执行结果为: num score_avg 061110 91 061201 80 061203 87 061204 91 061216 81 061220 82 061241 90 第六十五页,共九十五页。 4.3.4 更新视图 通过更新视图(包括插入、修改和删除)数据可以修改基表数据。但并不是所有 的视图都可以更新,只有对满足可更新条件的视图,才能进行更新。 1. 可更新视图 要通过视图更新基表数据,必须保证视图是可更新视图。一个可更新视图满足以 下条件: (1) 没有使用连接函数、集合运算函数和组函数; (2) 创建视图的SELECT语句中没有聚合函数且没有GROUP BY、ONNECT BY、START WITH子句及DISTINCT关键字; (3) 创建视图的SELECT语句中不包含从基表列通过计算所得的列; (4) 创建视图没有包含只读属性。 【例4.53】在XSCJ数据库中使用以下语句创建可更新视图CS_XS1。 CREATE OR REPLACE VIEW CS_XS1 AS SELECT * FROM XS WHERE ZYM= 计算机; 第六十六页,共九十五页。 4.3.4 更新视图 2. 插入数据 使用INSERT语句通过视图向基本表插入数据。 【例4.54】向CS_XS1视图中插入一条记录: ( ‘001115’ , ‘刘明仪’, ‘计算机’, 男,‘1984-3-2’, 50 , ‘三好学生’ ) INSERT INTO CS_XS1 VALUES(001115, 刘明仪,计算机,’男’, TO_DATE(,’YYYYMMDD’),50, ‘三好学生’); 使用SELECT语句查询CS_XS1依据的基本表XS: SELECT * FROM XS; 将会看到该表已添加了学号为001115的数据行。 第六十七页,共九十五页。 4.2.2选择行 【例4.23】查找选修了全部课程的同学的姓名。 SELECT XM FROM XS WHERE NOT EXISTS ( SELECT * FROM KC WHERE NOT EXISTS ( SELECT * FROM XS_KC WHERE XH=XS.XH

文档评论(0)

1亿VIP精品文档

相关文档