设计中的SQL音乐播放列表数据库查询

时间:2019-01-10 16:30:38

标签: mysql database relational-database

我正在尝试实施此数据库设计。我是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?

对于困惑的问题,抱歉,如果我错了,请纠正我。

1 个答案:

答案 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联接。