with t as(
select distinct music_id, music_name
from music_likes l
join music m on l.music_id = m.id 
where user_id in (select follower_id from follow where user_id = 1) and music_id not in (select music_id from music_likes where user_id = 1)
)

select music_name
from t
order by music_id asc;
  • 首先筛选出 user 1 follower的用户,查询其关注用户喜欢的的music_name,然后再排除user 1已经喜欢的列表,最后按照music_id 排序即可