实验十
This commit is contained in:
@@ -16,6 +16,8 @@
|
|||||||
- [实验六](实验六.sql)
|
- [实验六](实验六.sql)
|
||||||
- [实验七](实验七.sql)
|
- [实验七](实验七.sql)
|
||||||
- [实验八](实验八.sql)
|
- [实验八](实验八.sql)
|
||||||
|
- [实验九](实验九.sql)
|
||||||
|
- [实验十](实验十.sql)
|
||||||
|
|
||||||
## BB空间📺
|
## BB空间📺
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,49 @@
|
|||||||
|
-- 1.参照实验五中完成的查询,按如下要求设计和建立视图:
|
||||||
|
-- (1)基于单个表按投影操作定义视图:创建“教师_view”视图
|
||||||
|
CREATE VIEW 教师_view AS
|
||||||
|
SELECT 教师编号,姓名 FROM 教师表;
|
||||||
|
|
||||||
|
-- (2)基于单个表按选择操作定义视图:创建“教师_view_newa”视图
|
||||||
|
CREATE VIEW 教师_view_newa AS
|
||||||
|
SELECT * FROM 教师表
|
||||||
|
WHERE 性别 = '男';
|
||||||
|
|
||||||
|
-- (3)基于单个表按选择和投影操作定义视图:创建“学生_view1”视图
|
||||||
|
CREATE VIEW 学生_view1 AS
|
||||||
|
SELECT 学号,姓名 FROM 学生表
|
||||||
|
WHERE 平均成绩 > 85;
|
||||||
|
|
||||||
|
-- (4)基于多个表根据连接操作定义视图:创建“学生视图”视图
|
||||||
|
CREATE VIEW 学生视图 AS
|
||||||
|
SELECT 学生表.*,选课表.课程编号 FROM 学生表
|
||||||
|
JOIN 选课表 ON 学生表.学号=选课表.学号;
|
||||||
|
|
||||||
|
-- (5)基于多个表根据嵌套操作定义视图:
|
||||||
|
CREATE VIEW 嵌套操作 AS
|
||||||
|
SELECT * FROM 教师表
|
||||||
|
WHERE 工资= ANY(
|
||||||
|
SELECT 工资 FROM 教师表
|
||||||
|
WHERE 工资>4500
|
||||||
|
);
|
||||||
|
|
||||||
|
-- 2.分别在定义的视图设计3种查询(包括基于视图和基本表的一般、连接和嵌套查询)
|
||||||
|
-- (1)基于教师_view的一般查询
|
||||||
|
SELECT * FROM 教师_view;
|
||||||
|
|
||||||
|
-- (2)基于学生视图的连接查询
|
||||||
|
SELECT 学生视图.*,选课表.成绩 FROM 学生视图
|
||||||
|
JOIN 选课表 ON 学生视图.学号=选课表.学号;
|
||||||
|
|
||||||
|
-- (3)基于new_view的嵌套查询
|
||||||
|
|
||||||
|
-- 3.在定义的视图上分别进行插入、更新和删除操作,分情况讨论哪些操作可以成功完成,哪些操作不能完成,并分析原因。
|
||||||
|
-- (1)插入操作
|
||||||
|
INSERT INTO 学生视图(姓名, 学号, 性别, 院系编号, 平均成绩) VALUES ('剑十一', 31, '男', 1, 110);
|
||||||
|
|
||||||
|
-- (2)更新操作
|
||||||
|
UPDATE 学生视图 SET 院系编号 = 3
|
||||||
|
WHERE 学号 = 6;
|
||||||
|
|
||||||
|
-- (3)删除操作
|
||||||
|
DELETE FROM 学生视图
|
||||||
|
WHERE 学号 = 31;
|
||||||
Reference in New Issue
Block a user