题解 | #网易云音乐推荐(网易校招笔试真题)#
with as 创建临时表
1.先取出id=1的用户,他关注的人喜欢的音乐作为临时表
2.查询并过滤掉id=1的用户自身喜欢的音乐
WITH t AS
(
SELECT f.user_id, follower_id, music_id
FROM follow f
LEFT JOIN music_likes ml
ON f.follower_id = ml.user_id
WHERE f.user_id = 1
)
SELECT music_name
FROM music
WHERE id IN (SELECT music_id FROM t) AND id NOT IN (SELECT music_id FROM music_likes WHERE user_id = 1)
