首先,我们滤清思路,将各个用户喜欢的歌,通过后两个表连接起来,然后在将id为1 关注的人喜欢的歌先列出来 not in(其次再讲id为1喜欢的歌筛选出来)
select distinct a.music_name
from
(select *
from music_likes
join music
on music_likes.music_id=music.id) a
join (select * from follow
           where user_id=1) b
on a.user_id=b.follower_id
where a.music_name not in (select music.music_name
                            from music_likes
                            join music
                            on music_likes.music_id=music.id
                            where music_likes.user_id=1)
order by a.id;