分解 分解 YYDS

SELECT t1.music_name
FROM (
         WITH follow_new AS (
             SELECT follower_id
             FROM follow
             WHERE user_id = 1
         )
         SELECT DISTINCT music_id, music_name
         FROM music_likes ml
                  LEFT JOIN music m ON ml.music_id = m.id
         WHERE ml.user_id IN (SELECT * FROM follow_new)
           AND music_id NOT IN (SELECT music_id FROM music_likes WHERE user_id = 1)
         ORDER BY music_id
     ) t1
ORDER BY t1.music_id;