一、视图是什么
视图(view):从表中抽出的逻辑上相关的集合。
视图(View)创建使用,视图(View)实际上是一张或者多张表上的预定义查询,这些表称为基表。从视图中查询信息与从表中查询信息的方法完全相同。只需要简单的SELECT…FROM即可。
视图具有以下优点:
1. 可以限制用户只能通过视图检索数据。这样就可以对最终用户屏蔽建表时底层的基表。
2. 可以将复杂的查询保存为视图。可以对最终用户屏蔽一定的复杂性。
3. 限制某个视图只能访问基表中的部分列或者部分行的特定数据。这样可以实现一定的安全性。
4. 从多张基表中按一定的业务逻辑抽出用户关心的部分,形成一张虚拟表。
二、对视图的创建、修改和删除
(对视图中数据的增删改查与表相同 只不过是将table 改为 view )
1.视图的创建
使用多个表创建一个视图
2.视图的修改
3.设置视图只可读
在创建视图语句时最后加上 with read only ,则此视图只允许读
4.对视图的删除与查看类似于对表的操作。
三、简单视图和复杂视图
复杂视图的创建
注意 使用组函数创建视图必须要起别名
当存在 group by,组函数,distinct关键字,rownum伪列的时候不允许对视图进行增删改操作。
四、Top-n分析
rownum类似于excel中每一行数据之前的序号。
比如 查询工资最高的十个人
应该这样查询,但使用伪列rownum只能使用< <=号,其余的符号不能使用,如果想查看排名为20~30的名单,这样就解决不了问题了,处理方法为:
这样给伪列起别名再嵌套后就可以把rn当作普通的列来处理了。