首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想从许多没有外键的表中选择许多列。

我想从许多没有外键的表中选择许多列。
EN

Database Administration用户
提问于 2022-01-23 14:23:32
回答 2查看 1.1K关注 0票数 -1

我有三个表,我想在没有外键的情况下获取三个表数据。

假设我有一个表product_1,其中包含(id,name)和表product_2包含(id,name,product_2)。

我想在一个查询中选择两个表的列。

我是在问是否有任何MySQL查询来从许多表中选择许多列?

这是我的密码:

代码语言:javascript
复制
SELECT name FROM product1 AND price FROM product2;
EN

回答 2

Database Administration用户

发布于 2022-01-24 13:24:05

我有三个表,我想在没有外键的情况下获取三个表数据。

我想你的意思是“没有加入条件”。

馊主意。

如果您不告诉数据库如何连接两个表,它将执行一个笛卡尔联接,即它将第一个表中的每一行与第二个表中的每一行相匹配。

  • 如果两个表中都有10行,则会得到100 (10×10)行的结果集。
  • 如果两个表中都有一百万行,那么您将得到一个由1万亿行(10^6 x 10^6)行组成的结果集--假设您的数据库能够保存足够长的时间来交付它,并且准备等待那么长的时间!

您添加的表越多,这个表就越多!

票数 0
EN

Database Administration用户

发布于 2022-01-24 18:21:30

代码语言:javascript
复制
SELECT a.id, a.name, p.price
    FROM Names  AS a
    JOIN Prices AS p  ON p.id = a.id AND p.name = a.name;

这可以用于索引或不使用索引,也可以使用或不使用FOREIGN KEYs。但表现要好得多。

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

https://dba.stackexchange.com/questions/306461

复制
相关文章

相似问题

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