select
music_name
from
(-- 1关注的人
select
follower_id
from follow
where user_id = 1
) a
join
(-- 人喜欢的音乐id
select
user_id,music_id
from
music_likes
) b
-- 1关注的人喜欢的音乐id
on a.follower_id = b.user_id
join
(-- 人喜欢的音乐id及名称
select
id,music_name
from
music
) c
-- 1关注的人喜欢的音乐id及名称
on b.music_id = c.id
left join
(-- 1喜欢的音乐
select
music_id
from
music_likes
where user_id = 1
) d
on c.id = d.music_id
-- 1关注的人喜欢的音乐id及名称中去除1喜欢的音乐
where d.music_id is null
-- 去重
group by music_name
-- 排序
order by c.id