首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在创建mysql视图时,是否应该在SELECT语句中引用多个表?

在创建mysql视图时,是否应该在SELECT语句中引用多个表?
EN

Stack Overflow用户
提问于 2011-06-05 10:45:10
回答 3查看 142关注 0票数 1

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

这一条规定如下:

SELECT语句不能引用多个表。这意味着它不能在FROM子句中包含多个表,不能在JOIN语句中包含其他表,也不能在其他表中包含UNION。

这是真的吗为什么?如果没有在每个查询字符串中使用联接,那么如何查询两个相关的表,就像它是一个表(通过一个视图)?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-05 10:51:15

当您创建视图时,您已经在组合这些表。他们想说的是,一般来说,您不应该有一个SELECT语句来连接一个视图和一个表。尽管你可以做到这一点,但这并不是最好的做法。视图的要点是从经常调用的多个表中创建一个具有字段的表。对于这些多个表,每个SELECT语句上的视图都比JOINing表更有效。

票数 -1
EN

Stack Overflow用户

发布于 2011-06-05 10:50:30

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

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

票数 3
EN

Stack Overflow用户

发布于 2011-06-05 10:53:01

它只适用于可更新视图。如果不能将一个视图中的多个表链接起来,那么视图的全部内容将毫无意义:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6242417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档