【问题标题】:How do I join three tables in SQL? [closed]如何在 SQL 中连接三个表? [关闭]
【发布时间】:2016-06-19 11:41:59
【问题描述】:

三个表:
品牌
产品
销售

销售和产品已关联,但品牌未与销售关联。 品牌仅与产品相关。

我使用哪个联接?一个随机列名的例子会很棒,所以我可以尝试一下

【问题讨论】:

  • 这不是使用 SQL 教程的正确论坛。
  • -1 您需要使用 Google 并找到有关 SQL/mySQL 的初学者教程,或者至少阅读 mySQL 手册。 dev.mysql.com/doc/refman/5.7/en/tutorial.html
  • 非常感谢您的帮助..
  • 如果两个表不相关(你这么说)你应该如何加入它们?

标签: mysql sql oracle select join


【解决方案1】:

您可以有多个join 子句,从而逐步建立表之间的关系(只是猜测您的列名):

SELECT *
FROM   brand b
JOIN   product p ON b.id = p.brand_id
JOIN   sales s ON p.id = s.product_id

【讨论】:

    【解决方案2】:

    连接三个表类似于连接两个表,只需连接前两个表,然后在第二个连接中添加第三个。我将在示例中使用您的表名,假设 sales 和 product 共享一个 sale_id 列,brand 和 product 共享一个 brand_id 列。

    SELECT *
    FROM product JOIN sales USING(sale_id) JOIN brand USING(brand_id);
    

    可以以这种方式使用任何类型的连接,进一步使用括号以更复杂的方式连接表。您可以加入的表格数量也没有限制。这个问题已经被问过很多次了,所以下一次,我建议在提问之前做更多的研究。

    【讨论】:

    • 使用不是连接类型。如果连接的字段在两个表中具有相同的名称,这只是一个简写符号
    • @LelioFaieta 感谢您的意见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-12-20
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    相关资源
    最近更新 更多