题解 | #网易云音乐推荐(网易校招笔试真题)#
网易云音乐推荐(网易校招笔试真题)
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即可