博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sql--视图
阅读量:7014 次
发布时间:2019-06-28

本文共 1557 字,大约阅读时间需要 5 分钟。

hot3.png

视图--查询语句的别名

一、作用:
1.隐藏数据来源,保证数据的安全;
2.简化SQL语句的书写;
3.只显示需要的信息;
二、分类:
1、简单视图:数据只来源于一张表,可以做DML操作;
2、复杂视图:视图当中的数据可以来源于多张表,只能做简单查询,不能做DML;
3、物化视图:优化当中的东西;
#除了物化视图,视图不占用空间,数据来源于基表;
三、创建视图的语法:
create [or replace ]|[force ] view <> as select ...[with checkoption |with read only];
# or replace 如果试图存在就去替换
# force 基表不存在,我们只能用强制的方式创建视图
#with checkoption 给试图约束条件
四、创建视图:
>>>create or replace view v1 as select ename,empno,sal,deptno from emp where deptno=10;
>>>select * from v1;//查看我们创建好的视图
>>>create or replace view v1 as select ename,empno,sal,deptno from emp where deptno=&deptno ;//用&给一个变量
>>>
>>>update v1 set sal=sal+1;//修改我们的视图
>>>create or replace view v2 as select ename,empno,sal,deptno from emp where deptno=10 with checkoption;// 只能对我们的v2中的deptno中的10 进行修改
>>>create or replace view v2 as select ename,empno,sal,deptno from emp where deptno=10 with readonly; //只读试图
>>>create or replace force view v2 as select * from aa;//基表不存在,创建能成功,但是有警告
>>>create or replace view v3 as select ename,empno,max(sal),deptno from emp group by deptno; //使用了分组函数或group by 我们就不能使用DML操作
>>>create or replace view v4 as select distinct deptno from emp; //去掉重复的行 ,也不能使用DML操作
>>>create or replace view v4 as select ename,sal,(sal+nvl(comm,0))*12 ysal from emp;//做了算数表达式,也不能使用DML 操作
>>> create or replace view v1 as select ename,empno,sal,deptno from emp natural join dept join salgrade on sal between hisal and losal ;// 复杂视图只能创建,不能修改
desc user_views //当前用户下有哪些视图,创建试图的语句。
五、删除视图
drop view<>;
#语法中有or replace 的语句我们都可以进行修改,视图不可以进行修改;
 

转载于:https://my.oschina.net/liubaizi/blog/794386

你可能感兴趣的文章
三十分钟学会SED
查看>>
HTTPFS: 基于HTTP操作hadoop hdfs文件系统
查看>>
使用jquery获取父元素或父节点的方法
查看>>
如何让双十一数据大屏讲出故事?设计有口诀
查看>>
浮窗系列之窗口与用户输入系统
查看>>
swing效果点击下拉框自动填充文本框
查看>>
UML之活动图
查看>>
[收藏学习]安全性相关
查看>>
测来测去,感觉REQUESTS最实在
查看>>
powershell 模拟IE行为
查看>>
细说ES7 JavaScript Decorators
查看>>
最好的团队
查看>>
Objective-C之@类别小实例
查看>>
IOS的唯一标识符问题(转)
查看>>
【Oracle】How to Rename or Move Datafiles and Logfiles 之一
查看>>
CYQ.Data 轻量数据访问层(六) 构造数据表
查看>>
iOS系统声音列表
查看>>
Linux0.11内核剖析--初始化程序(init)
查看>>
大数据网红发现神器
查看>>
[置顶]【原创】.NET开源压缩组件介绍与入门
查看>>