2016-03-05 98 views
-1

我是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 

我只是想知道不同連接的適用位置。

+0

請參閱[此連接的極佳解釋](http://blog.codinghorror.com/a-visual-explanation-of-sql-joins/) –

+0

顯然我需要的是內連接? –

+1

select * from goods INNER JOIN totals ON goods.ID = totals.goods ID? –

回答

0

跟隨從Juergen發佈的鏈接(該鏈接是一個非常好的參考),要實現第三個表的結果,您可以使用INNER JOIN,FULL OUTER JOIN或LEFT/RIGHT OUTER JOIN。原因是因爲你的兩個表被設置爲相互匹配,因此沒有空值需要擔心。

但是,如果表被設置是這樣的:

商品

ID |名稱
--------
1 |咖啡
2 |茶
3 |巧克力
4 |牛奶

總計

數量|商品ID
---------------------
40 | 3
20 | 2
10 | 1

然後,要達到相同的結果,您希望使用INNER連接。