我正在尝试实施此数据库设计。我是mysql的新手,并不真正了解如何连接所有内容,因此我试图将每个查询分解为几部分。
数据库外观
歌曲:
id title length artist_id
艺术家:
id name
播放列表:
id title user_id
播放列表_歌曲:
playlist_id song_id
用户:
id name email
查询- 获取用户的播放列表名称和播放列表ID
SELECT users.id,users.name,playlists.playlistname,playlists.id
FROM users, playlists
WHERE users.user_id = playlists.users_id
outputs :
user_id | user_username | playlistname | id
如何使用输出中的ID继续查询“更深”以获取playlist_songs?
对于困惑的问题,抱歉,如果我错了,请纠正我。
答案 0 :(得分:1)
要连接表,可以使用Joins
。如果要从playlist_songs
获取数据,可以使用类似
SELECT users.id,users.name,playlists.playlistname,playlists.id, playlist_songs.song_id FROM users
inner join playlists on users.user_id = playlists.users_id
inner join playlist_songs on playlist_songs.playlist_id = playlists.id
WHERE users.user_id = <user_id_of_user>
您可以将songs
表与playlist_songs
联接,然后将artists
表与songs
联接。