视图

因为在访问数据时会经常对一部分数据进行重复访问,并且每次访问都要重新的查出来才能使用,这样就显得很麻烦,效率也不高!所以有了视图后这个问题才得以完善!使用视图优点:控制数据访问、简化查询、避免重复访问相同的数据简单视图和复杂视图!

1.create view创建视图
在 create view语句中嵌入子查询
子查询可以是复杂的 select语句
创建视图时在子查询中给列定义别名
在选择视图中的列时应使用别名

格式:create view 视图名 as 子查询
例子:
在这里插入图片描述
2.describe描述视图结构
格式:describe 表名
例子:
在这里插入图片描述

3.查询视图
格式:select *from 视图名;
例子:
在这里插入图片描述
4.create or replace view创建或修改视图
使用create or replace view 子句修改视图
create view子句中各列的别名应和子查询中各列相对应
格式:create or replace view 视图名 as 子查询
例子:
在这里插入图片描述
5.drop view删除视图
删除视图只是删除视图的定义,并不会删除基表的数据
格式:drop view 视图名;
例子:
在这里插入图片描述
6.Top-N 分析
所谓的Top-N含义:根据某一规则进行排序,然后取其前N行数据。
Top-N 分析中主要是使用到rownum伪列关键字进行标记使用!
rownum:伪列,数据表中本身没有这样的列,是oracle数据库为每个数据表加上的列,可以标识别行号,默认情况下,rownum按主索引来排序,若没有主索引则自然排序。
但rownum只能使用 < 或 <=, 而用 =, >, >= 都将不能返回任何数据。
例子:
在这里插入图片描述
7.with read only屏蔽 DML 操作
可以使用 with read only选项屏蔽对视图的DML 操作
任何 DML 操作都会返回一个Oracle server 错误
格式:create or replace view 视图名 as 子查询 with read only;
例子:
在这里插入图片描述
视图中使用DML的规定:
可以在简单视图中执行 DML 操作
当视图定义中包含以下元素之一时不能使用delete:
组函数
group by 子句
distinct关键字
rownum伪列

当视图定义中包含以下元素之一时不能使用update:
组函数
group by 子句
distinct关键字
rownum伪列
列的定义为表达式

当视图定义中包含以下元素之一时不能使用insert:
组函数
group by 子句
distinct关键字
rownum伪列
列的定义为表达式
表中非空的列在视图定义中未包括

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值