SQL 中简单视图和复杂视图的区别
mysqlmysqli database更新于 2026/1/24 18:20:17
在讨论简单视图和复杂视图之前,我们首先应该知道什么是视图。视图是从一个或多个表创建的逻辑虚拟表,主要用于一次从一个或多个不同的表中获取列。根据视图中涉及的表,我们可以区分 SQL 中的简单视图和复杂视图。
以下是简单视图和复杂视图之间的重要区别。
| Sr. No. | Key | Simple View | Complex View |
|---|---|---|---|
| 1 | Definition | SQL 中的简单视图是仅涉及单个表创建的视图。换句话说,我们可以说,在 SQL 中,简单视图只有一个基表。 | 另一方面,复杂视图是通过涉及多个表来创建的,即,多个表被投影到复杂视图中。 |
| 2 | 关联 | 在简单视图的情况下,由于上下文中只有一个表,因此在 SQL 中,此视图不需要应用主要关联。 | 另一方面,在复杂视图的情况下,上下文中有多个表,因此需要应用一般关联,包括连接条件、group by 子句、order by 子句。 |
| 3 | 组函数 | 在简单视图中,由于只有一张表,我们不能使用 MAX()、COUNT() 等组函数。 | 另一方面,在复杂视图的情况下,由于有多个表,我们可以使用各种组功能。 |
| 4 | 允许的操作 | 在简单视图中,可以轻松执行 DML 操作。 | 但是另一方面,在复杂视图的情况下,DML 操作并不总是可以执行。 |
| 5 | 更改 | 如上所述,由于 DML 操作 INSERT、DELETE 和 UPDATE 是直接可能的。 | 但是另一方面,在复杂视图的情况下,我们不能应用 INSERT、DELETE 和 UPDATE。 |
| 6 | NULL 列 | 在简单视图中,不能包含来自基表的 NOT NULL 列。 | 但是另一方面,在复杂视图的情况下,NOT NULL 列可以包含在复杂视图中。 |
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

