Запросы базы данных музыкального плейлиста SQL от дизайна - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь реализовать этот дизайн базы данных. Я новичок в MySQL и не очень понимаю, как все соединить, поэтому я пытаюсь разбить каждый запрос на куски ..

База данных выглядит как

Песня:

id title length artist_id

Исполнители:

id name

Плейлисты:

id title user_id 

Playlists_Songs:

playlist_id song_id

Пользователи:

id name email 

Запрос - получить имя плейлиста и идентификатор плейлиста

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

Как использовать идентификатор из выходных данных, чтобы продолжить запрос "глубже", чтобы получить playlist_songs?

Извините за путаницу, поправьте меня, если я ошибаюсь.

1 Ответ

0 голосов
/ 10 января 2019

Для соединения таблиц вы можете использовать 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.

...