SQL中简单视图和复杂视图之间的区别

视图在SQL中作为来自一个或多个表的数据的逻辑子集。视图用于限制数据访问。视图不包含自己的数据, 而包含类似的窗口, 通过该窗口可以查看或更改表中的数据。视图所基于的表称为BASE表。
SQL中有两种视图类型:简单视图和复杂视图。简单的意见只能包含一个基本表。复杂的观点可以在多个基表上构建。特别是, 复杂的视图可以包含:连接条件, group by子句, order by子句。
这些类型的视图之间的主要区别是:

简单检视 复杂视图
仅包含一个基本表或仅由一个表创建。 包含多个基本表或由多个表创建。
我们不能使用MAX(), COUNT()等组函数。 我们可以使用组函数。
不包含数据组。 它可以包含数据组。
DML操作可以通过简单的视图执行。 DML操作不能总是通过复杂的视图执行。
INSERT, DELETE和UPDATE可以在简单的视图上直接进行。 我们不能直接在复杂的视图上应用INSERT, DELETE和UPDATE。
简单视图不包含分组, 不同的伪列(如rownum), 列则不受表达式约束。 它可以包含group by, 不同的伪列(如rownum), 按表达式定义的列。
不包括基表中的NOT NULL列。 简单视图未选择的NOT NULL列可以包含在复杂视图中。
参考–
【SQL中简单视图和复杂视图之间的区别】查看– orafaq

    推荐阅读