SQL中视图的创建和修改以及INTERSECT,MINUS的用法.pptVIP

SQL中视图的创建和修改以及INTERSECT,MINUS的用法.ppt

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL中视图的创建和修改以及INTERSECT,MINUS的用法.ppt

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

文档评论(0)

000 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档