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

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

简单视图 复杂视图
仅包含一个基表或仅从一个表创建。 包含多个基表或由多个表创建。
不能使用 MAX()、COUNT() 等组函数。 可以使用组函数。
不包含数据组。 可以包含数据组。
DML 操作可以通过一个简单的视图来执行。 DML 操作不能总是通过复杂的视图来执行。
INSERTDELETEUPDATE 可以直接在简单视图上进行。 不能直接在复杂视图上应用 INSERTDELETEUPDATE
简单视图不包含 group bydistinct、伪列(如 rownum)、由表达式定义的列。 可以包含 group bydistinct、伪列(如 rownum)、由表达式定义的列。
不包括基表中的 NOT NULL 列。 NOT NULL 列可以包含在复杂视图中。
欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果。
转载请注明:文章转载自 有区别网 [http://www.vsdiffer.com]
本文标题:SQL中简单视图和复杂视图的区别
本文链接:https://www.vsdiffer.com/vs/difference-between-simple-vs-complex-view-in-sql.html
免责声明:以上内容仅是站长个人看法、理解、学习笔记、总结和研究收藏。不保证其正确性,因使用而带来的风险与本站无关!如本网站内容冒犯了您的权益,请联系站长,邮箱: ,我们核实并会尽快处理。