数据库 之视图基本操作SQL语句

您所在的位置:网站首页 数据库视图用于 数据库 之视图基本操作SQL语句

数据库 之视图基本操作SQL语句

2024-07-10 15:01| 来源: 网络整理| 查看: 265

一、创建视图

语句格式

CREATE VIEW [( [,]…)] AS [WITH CHECK OPTION];

1、子查询可以是任意的SELECT语句,是否可以含有ORDER BY子句和DISTINCT短语,则决定具体系统的实现 2、WITH CHECK OPTION:对视图进行UPDATE,INSERT和DELETE操作时要保证更新、插入或删除的行满足视图定义中的谓词条件(即子查询中的条件表达式)

注:修改基表的结构后,可能导致表与视图的映象关系被破坏,从而导致该视图不能正确工作

例1:建立信息系学生的视图

CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= 'IS';

例2:建立信息系学生的视图,并要求进行修改和插入操作时仍需保证该视图只有信息系的学生

CREATE VIEW IS_Student AS SELECT Sno,Sname,Sage FROM Student WHERE Sdept= 'IS' WITH CHECK OPTION; 1、基于多个基表的视图

例3:建立信息系选修了1号课程的学生的视图(包括学号、姓名、成绩)

CREATE VIEW IS_S1(Sno,Sname,Grade) AS SELECT Student.Sno,Sname,Grade FROM Student,SC WHERE Sdept= 'IS' AND Student.Sno=SC.Sno AND SC.Cno= '1'; 2、基于视图的视图

例4:建立信息系选修了1号课程且成绩在90分以上的学生的视图

// IS_S2 基于视图IS_s1:FROM IS_S1 CREATE VIEW IS_S2 AS SELECT Sno,Sname,Grade FROM IS_S1 WHERE Grade>=90; 3、带表达式的视图

例5:定义一个反映学生出生年份的视图

// 表达式:2014-Sage CREATE VIEW BT_S(Sno,Sname,Sbirth) AS SELECT Sno,Sname,2014-Sage FROM Student; 4、分组视图

例6:将学生的学号及平均成绩定义为一个视图

// 分组:GROUP BY CREAT VIEW S_G(Sno,Gavg) AS SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno; 二、删除视图

语句的格式:

DROP VIEW [CASCADE]; 该语句从数据字典中删除指定的视图定义如果该视图上还导出了其他视图,使用CASCADE级联删除语句,把该视图和由它导出的所有视图一起删除删除基表时,由该基表导出的所有视图定义都必须显式地使用DROP VIEW语句删除 三、查询视图

查询视图与查询基本表相同 例子:在信息系学生的视图中找出年龄小于20岁的学生

SELECT Sno,Sage FROM IS_Student WHERE Sage


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3