题解 | #网易云音乐推荐(网易校招笔试真题)#
网易云音乐推荐(网易校招笔试真题)
https://www.nowcoder.com/practice/048ed413ac0e4cf4a774b906fc87e0e7
select music_name
from music
where id in(
select music_id
from music_likes
where user_id in (
select follower_id
from follow
where user_id = 1
)
) and id not in (
select music_id
from music_likes
where user_id = 1
)
order by id
本题我是先写最内层的语句,然后一层一层解题。
思路:先从follow表中写出1号用户关注的follower_id号,然后从music_likes表中找出关注的人喜欢的music_id音乐id号,最后再从music表中找出对应的music_name音乐名,但是题中还要求了不能推荐自己已经喜欢的音乐名,所以还得再加一个条件,先观察三张表,发现user_id = 1是题中已知条件,这里可以直接选用music_likes表作为跳板查找出喜欢的music_id音乐id,再用and连接not in即可,最后根据题目已知条件按照id的升序排序order by id即可
查看22道真题和解析
