题解 | #网易云音乐推荐(网易校招笔试真题)#

网易云音乐推荐(网易校招笔试真题)

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即可

全部评论

相关推荐

11-07 13:31
怀化学院 Java
勇敢牛牛不怕难:又疯一个
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务