MySql加入超过2个表?

时间:2017-09-19 14:51:41

标签: mysql

我有以下3个表格,想要进入"库存"表user_id = user_id并且想要显示所有" ownskins"来自具有此ID的用户。

我该怎么做?

感谢所有回复!

The three tables

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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 ......

答案 2 :(得分:0)

我们假设您有以下表格:

Driver
Car
Keys

如果您想要访问其中所有3个,您可以执行以下操作:

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;

答案 3 :(得分:0)

鉴于您知道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