【发布时间】:2016-03-05 08:10:50
【问题描述】:
我是 mysql 的新手,我有一个关于使用不同联接的快速问题。比如说,我有 2 个表格,一个标题为总计,另一个标题为货物,每个都包含值,
商品
ID | Name
--------
1 | coffee
2 | tea
3 | chocolate
总数
Quantity | goods ID
---------------------
40 | 3
20 | 2
10 | 1
比如这样,商品ID一共是商品表ID的子表,但我想要的显示是
总数
Quantity | goods ID
-------------------
40 | chocolate
20 | tea
10 | coffee
我只想知道不同的联接适用于何处。
【问题讨论】:
-
那么显然我需要的是内部连接?
-
select * from goods INNER JOIN totals ON goods.ID = totals.goods ID?
-
取决于请求。您想展示所有商品还是只展示包含数量的商品?
-
对于这个数据集,内、左和右连接都将返回相同的内容,因为货物表中的每个 id 条目在总计表中也有一个条目,反之亦然。阅读 juergen 发布的链接并在 MySQL 工作台中自己尝试。这是最好的学习方式。只需制作几个表,插入一些数据,然后尝试一些不同的连接。