如何在SQL中连接三个表?

时间:2016-03-05 18:31:17

标签: mysql sql oracle select join

三个表:
品牌
产品
销售

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

我使用哪种加入方式?随机列名称的一个例子很棒,所以我可以尝试它

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:-1)

连接三个表类似于连接两个表,只需加入前两个表,然后在第二个连接中添加第三个表。我将在一个示例中使用您的表名,假设销售和产品共享sales_id列,品牌和产品共享brand_id列。

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

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