Mysql 如何从两个表中检索数据?我必须使用join吗?
我有两张桌子,用户和最喜欢的歌曲 用户注册到该站点,并且必须登录。因此对此的查询是:Mysql 如何从两个表中检索数据?我必须使用join吗?,mysql,sql,select,join,Mysql,Sql,Select,Join,我有两张桌子,用户和最喜欢的歌曲 用户注册到该站点,并且必须登录。因此对此的查询是: SELECT * FROM users WHERE Username='$Name' AND Password='$Pass' “喜爱的歌曲”表中也有其用户名。如何更改查询,以便也选择他们喜爱的歌曲?一旦登录,我希望这首歌能回响给他们 歌曲表: Username Song: test1 | Singing in the rain test2 | Nightdance test3 | Firest
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
我假设收藏夹歌曲表的名称为
favorite\u songs\u 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'
别忘了阻止SQL注入。使用用户名作为用户标识符是一个糟糕的设计。您应该有一个名为user_id的额外列,并使用该列引用所有表中的用户。您当前的设计违背了“良好实践”,即在数据库中,一个信息只能存储一次(在这种情况下,用户名)。关于你的问题,我相信你会在接下来的5分钟内得到答案;)
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'