使用外键加入表

时间:2016-05-31 06:04:19

标签: mysql database

我有一个名为player_league的表,如下所示:enter image description here

userID和leagueID分别是引用users和leagues表中列的外键。

我想查询数据库,以便从player_leagues表中获得unionID为1的所有用户。

此查询

SELECT leagueID from users join player_league pl WHERE pl.leagueID = 1

返回看起来像enter image description here

的数据

由于我是mySQL和SQL的新手,我想知道我做错了什么?我相信它与我的连接有关,但它可能是我如何设置我的表,我只是不确定。用户表中没有leagueID,所以我不确定为什么每个用户的联盟ID都是1.

2 个答案:

答案 0 :(得分:0)

可能你想要这样的东西:

select * from user left join player_league on user.id = player_league.userId where player_league.leagueId = '1'

希望这有帮助

答案 1 :(得分:0)

您错过了on子句的join部分,该部分指示数据库如何连接这两个表。默认值是笛卡尔积,即将第一个表中的每一行与第二个表中的每一行连接起来。

在这种情况下,您可以加入userID

SELECT u.*
FROM   users u
JOIN   player_league pl ON u.userID = pl.userID
WHERE  pl.leagueID = 1