簡體   English   中英

MySql加入2個以上的表?

[英]MySql Join more than 2 tables?

我有以下3個表,並希望進入“清單”表,其中user_id = user_id,並希望顯示具有該ID的用戶的所有“所有皮膚”。

我怎樣才能做到這一點?

感謝您的所有回復!

三張桌子

使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM