如何从两个表中检索数据?我必须使用加入吗?

时间:2013-01-31 21:48:15

标签: mysql sql select join

我有两张桌子,用户和喜欢的歌曲。

用户注册到该站点,并且必须登录。所以对此的查询是:

SELECT * FROM users WHERE Username='$Name' AND Password='$Pass'

最喜欢的歌曲表也有自己的用户名。如何更改查询以便选择他们喜欢的歌曲?登录后,我想让这首歌回复给他们。

歌曲表:

Username  Song:
test1   | Singing in the rain
test2   | Nightdance
test3   | Firestorm 

用户表:

Username  Password
test1   | 123123
test2   | 123123
test3   | 123123

2 个答案:

答案 0 :(得分:1)

SELECT u.Username, COALESCE(s.Song, 'Oh, you have no favorite song ?')
FROM users u
LEFT JOIN song s 
   ON s.UserName = u.UserName
WHERE Username='$Name' AND Password='$Pass'

答案 1 :(得分:1)

我认为最喜欢的歌曲表名为favorite_songs_table

SELECT u.*, f.song FROM users u
INNER JOIN favorite_songs_table f ON f.user_name = u.name
WHERE Username='$Name' AND Password='$Pass'