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

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

SQL中的视图作为来自一个或多个表的数据的逻辑子集。 视图用于限制数据访问。 视图不包含它自己的数据,而是包含类似的窗口,通过该窗口可以查看或更改表中的数据。 视图所基于的表称为基本表。

SQL中有两种视图:简单视图和复杂视图。 简单视图只能包含一个基表。 可以在多个基表上构建复杂视图。 特别是复杂视图可以包含:连接条件、group by 子句、order by 子句。

SQL中简单视图和复杂视图的主要区别是:

简单视图 复杂视图
仅包含一个基表或仅从一个表创建。 包含多个基表或由多个表创建。
不能使用 MAX()、COUNT() 等组函数。 可以使用组函数。
不包含数据组。 可以包含数据组。
DML 操作可以通过一个简单的视图来执行。 DML 操作不能总是通过复杂的视图来执行。
INSERTDELETEUPDATE 可以直接在简单视图上进行。 不能直接在复杂视图上应用 INSERTDELETEUPDATE
简单视图不包含 group bydistinct 、伪列(如 rownum)、由表达式定义的列。 可以包含 group bydistinct 、伪列(如 rownum)、由表达式定义的列。
不包括基表中的 NOT NULL 列。 NOT NULL 列可以包含在复杂视图中。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程