[英]Perform an INNER JOIN with more than 2 tables in MySQL
我最近才了解到 SQL INNER JOIN
,我想將它應用到一個項目上,所以基本上我有三個表
現在我只是想知道我是否可以同時使用三個表的INNER JOIN
一次返回三個表的結果,還是只能使用 2 個表?
如果可以使用超過 2 個表的INNER JOIN
,請指導我如何操作,如果沒有,請告訴我如何以任何其他可能的方式進行操作。
現在這是我目前的查詢,它不能按預期工作:
SELECT *
FROM payers
INNER JOIN discounts AND items
ON payers.id = discounts.id AND ON payers.id = items.id;
你想要兩個連接。 語法是:
SELECT *
FROM payers p
INNER JOIN discounts d ON d.id = p.id
INNER JOIN items i ON i.id = p.id
旁注:
您沒有顯示您的實際架構,因此這使用了您嘗試中描述的連接條件; 您可能需要查看
表別名使查詢更短且更易於閱讀
SELECT *
通常不是好的做法; 相反,我建議在SELECT
子句中枚舉您想要的列,並適當地為沖突的列名(如果有)進行別名(這里,所有三個表都有一個名為id
的列,這會導致結果集中的歧義)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.