1

http://www.mysqltutorial.org/create-sql-updatable-views.aspx

上面的这篇文章陈述了以下内容:

SELECT 语句不能引用多个表。这意味着它不能在 FROM 子句中包含一个以上的表,在 JOIN 语句中不能包含多个表,或者与其他表的 UNION。

这是真的吗?为什么?您将如何查询两个相关的表(通过视图),而不在每个查询字符串中使用连接?

4

3 回答 3

3

该页面是关于可更新视图的,并且能够通过视图更新基础表的条件意味着您必须对视图的内容设置更多限制,以便 mysql 能够将您的更新映射回基础表。

UNION如果您只想从视图中读取而不需要使用它更新基础表,您可以在视图定义中使用连接、s 等从多个表中进行选择。

于 2011-06-05T10:50:30.553 回答
0

这仅适用于可更新视图。如果您不能在一个视图中链接超过 1 个表,那么整个视图的观点将毫无意义 :)

于 2011-06-05T10:53:01.077 回答
-1

创建视图时,您已经在组合表格。他们想说的是,一般来说,您不应该有一个 SELECT 语句来连接视图和表。尽管您可以这样做,但这并不是最佳做法。视图的重点是创建一个表,其中包含您定期调用的多个表中的字段。对于这些多个表,视图比在每个 SELECT 语句上连接表更有效。

于 2011-06-05T10:51:15.707 回答