我正在设计一个网站,教我自己如何在mysql中使用表连接,并且很早就被卡住了.(这些数字是Wii朋友代码,如果这有助于你理解这一点!)
我有3张桌子:
用户:
id, firstname, surname
游戏:
id, title
数字:
number, users_id, game_id
该号码是属于用户并与游戏相关联的唯一代码.
我试图找出特定游戏的数字列表以及他们所属的用户的名字.
我正在运行查询:
SELECT firstname, surname, number FROM games, users, numbers WHERE numbers.game_id = games.id AND games.title = 'foogame'
例如,拿出属于foogame的所有数字.但是,这会返回任何没有此游戏代码的用户使用来自其他用户的随机代码.如何使此查询仅返回实际拥有该游戏代码的用户?
如果您实际使用连接,我会发现它更容易,因为您不会像第一次那样错过连接条件.
SELECT firstname, surname, number FROM users u INNER JOIN numbers n on n.users_id = u.id INNER JOIN games g on n.game_id = g.id WHERE g.title = 'foogame'
INNER JOIN相当于你所做的 - 它具体限制.