SQL 音乐播放列表数据库查询设计
SQL music playlist database queries from design
我正在尝试实现这个数据库设计。我是 mysql 的新手,并不真正了解如何连接所有内容,所以我试图将每个查询分解成碎片..
数据库看起来像
歌曲:
id title length artist_id
艺术家:
id name
播放列表:
id title user_id
Playlists_Songs:
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 继续查询 "deeper" 以获取 playlist_songs?
不好意思问错了请指正
要连接 table,您可以使用 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
table 和 playlist_songs
,然后 artists
table 和 songs
。
我正在尝试实现这个数据库设计。我是 mysql 的新手,并不真正了解如何连接所有内容,所以我试图将每个查询分解成碎片..
数据库看起来像
歌曲:
id title length artist_id
艺术家:
id name
播放列表:
id title user_id
Playlists_Songs:
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 继续查询 "deeper" 以获取 playlist_songs?
不好意思问错了请指正
要连接 table,您可以使用 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
table 和 playlist_songs
,然后 artists
table 和 songs
。