《SQL中视图的创建和修改以及INTERSECTMINUS的用法.ppt》由会员分享,可在线阅读,更多相关《SQL中视图的创建和修改以及INTERSECTMINUS的用法.ppt(10页珍藏版)》请在三一办公上搜索。
1、视图的创建,视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图所对应的数据并不真正地存储在视图中,而是存储在所引用的数据表中,视图的结构和数据是对数据表进行查询的结果。根据创建视图时给定的条件,视图可以是一个数据表的一部分,也可以是多个基表的联合,它存储了要执行检索的查询语句的定义,以便在引用该视图时使用。视图的常见用法是限制用户只能访问表中的一些记录。,视图的优点:1.简化查询 视图能够从许多不同的表中提取数据,并且用单个表呈现提取的结果,把多表查询变成了针对视图的单表查询。2.安全性 用户通过视图访问数据库,限制了用户访问存储的数据。3.简化结构 视图将数据可呈现为一组用
2、户感兴趣的虚表。4.隔离变化 视图能表示数据库结构一致的、不变的映像,即使底层数据源表已拆分、重新构造或者重新命名,也是如此。5.数据完整性 如果通过视图来访问和输入数据,DBMS会自动校验该数据,以确保数据满足所规定的完整性约束。,视图创建方法,方法一:在PL/SQL管理控制台左边的“树”选项卡中展开指定的服务器,打开要创建视图的数据库,右击其中的“视图”对象,从弹出的快捷菜单中选择“新建”选项。方法二:使用 CREATE VIEW 语句创建视图。,SQL CREATE VIEW 语法,CREATE VIEW view_name AS SELECT column_name(s)FROM ta
3、ble_name WHERE condition创建视图之前,应考虑以下基本原则:只能在当前数据库中创建视图。视图名称必须遵循标识符的规则,且对每个架构都必须唯一。必须获取由数据库所有者授予的创建视图的权限。,CREATE VIEW VIEW_HNT AS SELECT*FROM GY_DJ_NARXX WHERE SWDJBLX_DM=0;注:也可以从另一个视图内部来使用视图,也可以基于多个基表。,视图的修改,视图中的SELECT语句不能直接修改 方法:在创建视图的CREATE语句中使用OR REPLACE选项。带OR REPLACE选项的CREATE语句格式为:,CREATEORREPLA
4、CE VIEW view_name AS SELECT column_name(s)FROM table_name WHERE condition 这样在创建视图时,如果视图不存在,则创建它。如果已经存在一个同名的视图,那么先删除这个视图,然后再根据SELECT语句创建新视图,用这个新视图代替原来的视图。,Intersect 和Minus,TABLE A:,TABLE B:,SELECT*FROM TABLE A INTERSECT SELECT*FROM TABLE B;结果:NAME SEX AGE-luxin female 25tom female 26money male 27tony
5、 male 28,SELECT*FROM TABLE A MINUS SELECT*FROM TABLE B;结果:NAME SEXAGE-mary1 male 27tony1 male 19,SELECT*FROM TABLE B MINUS SELECT*FROM TABLE A;结果:NAME SEX AGE-mary2 male 27tony2 male 19,UNION、UNION ALL、INTERSECT和MINUS总结,Union,对两个结果集进行并集操作,不包括重复行;Union All,对两个结果集进行并集操作,包括重复行;Intersect,对两个结果集进行交集操作,不包括重复行;Minus,对两个结果集进行差操作,不包括重复行。必须都有相同数目的字段,每个表相应字段的数据类型相同,可以在最后一个结果集中指定Order by子句改变排序方式。,