[英]MySql Join more than 2 tables?
使用MySql示例連接兩個以上的表:
SELECT i.*
FROM ownedskins o
JOIN inventory i
ON o.inventory_id=i.inventory_id
JOIN user u
ON u.user_id = i.user_id
WHERE u.user_id = 1
使用聯接非常容易,請使用以下方法:
SELECT *
FROM table1 t1
JOIN table2 t2 ON t1.id = t2.id
JOIN table3 t3 ON t2.id2 = t3.id
您還可以使用JOIN變體,例如LEFT JOIN,INNER JOIN,OUTER JOIN ...
假設您有以下表格:
Driver
Car
Keys
如果您想訪問全部三個,則可以執行以下操作:
SELECT D.name, C.plate, K.state
FROM Driver D, Car C, Keys K
WHERE C.key_id = K.id and
K.owner_id = D.id;
使用JOINS:
SELECT D.name, C.plate, K.state
FROM Car C JOIN Keys K
ON C.key_id = K.id JOIN Driver D
ON K.owner_id = D.id;
假設您知道user_id
,則可以通過單個join
來做到這一點,如下所示:
SELECT
ownedskins.*
FROM
ownedskins JOIN inventory ON ownedskins.inventory_id = inventory.inventory_id
WHERE
inventory.user_id = x
其中x
是您想要的用戶的ID
您也可以使用別名使其看起來更整潔:
SELECT
os.*
FROM
ownedskins os JOIN inventory i ON os.inventory_id = i.inventory_id
WHERE
i.user_id = x
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.