当一个表没有条目时,mysql JOIN

时间:2012-09-17 10:49:53

标签: mysql join null

我有两张桌子:

拥有player_id且名称为

的玩家

拥有player_id和team_id

的团队

并非所有玩家都有团队参赛作品。

我正在尝试创建一个查询,给定一个player_id,将返回该名称,如果在团队表中找不到 ,则返回null。

我已经尝试了各种JOIN,但是我得到null,null或者在表中找到第一个team_id的名称。

感谢您的帮助

1 个答案:

答案 0 :(得分:3)

这样做

SELECT p.PlayerID, t.PlayerID
FROM Player p
LEFT JOIN Team t
ON p.PlayerID = t.PlayerID

如果要返回null,请选择t.PlayerID,因为如果播放器中存在p.PlayerID,它将不为空

您的结果将如下所示

PlayerID   Player Name    TeamID    PlayerID
-------------------------------------------------
0001       John           NULL      NULL

正如你所看到的那样,第二个PlayerID是NULL而不是第一个。选择第二个,例如WHERE t.PlayerID IS NULL