SELECT
DISTINCT music_name # 去重
FROM music m
JOIN(
SELECT
DISTINCT ml.user_id,
music_id
FROM music_likes ml
JOIN(
SELECT
user_id,
follower_id
FROM follow
WHERE user_id = 1 # 首先,找到user_id = 1的用户关注的人
) AS tb1 # tb1 找到user_id = 1或关注的人喜欢的music_id
ON tb1.follower_id = ml.user_id OR ml.user_id = 1 # 我这里用的follower_id JOIN 了 ML的 user_id
WHERE music_id NOT IN (SELECT # 这里把用户已经喜欢的音乐给剔除出去
DISTINCT music_id
FROM follow f
JOIN music_likes ml
ON f.user_id = ml.user_id
WHERE ml.user_id = 1) # user_id = 1用户已经喜欢的音乐
ORDER BY music_id ASC
) AS tb2 #tb2找到关注的人喜欢的音乐名
ON m.id = tb2.music_id