一、视图
1、创建视图V_STU_AVG并尝试更新。
(1)创建一个包括学生的学号及其各门功课的平均成绩的视图V_STU_AVG。
CREATE VIEW V_STU_AVG ( sNo, avgMark ) AS SELECT sNo, AVG( mark ) FROM student_course GROUP BY sNo;
查看视图中数据,理解视图的作用
SELECT * FROM V_STU_AVG;
(2)尝试对视图V_STU_AVG执行下面两条语句。
UPDATE V_STU_AVG SET avgMark = 85 WHERE sNo = '081220102';
DELETE FROM V_STU_AVG WHERE SNO = '081220102';
两条语句执行均不成功,思考错误根源。
原因:select语句包括group子句
2、创建视图V_TEACHER1并进行DML操作
(1)执行下列命令,配置数据环境
INSERT INTO department(dNO,dname) VALUES('060606','艺术经济学院');
INSERT INTO teacher(tNO,tName,tSex,dNO) VALUES('090901','林燕飞','女','060606');
(2)创建一个包括教师编号、教师姓名、性别和生日的060606部门所有女教师的视图。
CREATE VIEW V_TEACHER1 AS SELECT tNo,tName,tSex,tbirth FROM teacher WHERE dNo='060606' AND tSex='女' WITH CHECK OPTION;
查看视图中数据,理解视图作用
SELECT * FROM V_TEACHER1;
(3)执行下面两条语句,