SQL 刷题/【网易】推荐关注用户喜欢的音乐
上一题下一题中等通过率 50%

【网易】推荐关注用户喜欢的音乐

WHERE 条件JOIN 连接子查询ORDER BYDISTINCT用户行为分析面试真题

题目描述

来源:网易 SQL 面试真题

某云音乐产品希望向指定用户推荐其关注对象喜欢的音乐,同时避免推荐该用户已经喜欢的歌曲。

数据表

follow 关注关系表

字段类型说明
user_idBIGINT发起关注的用户 ID
follower_idBIGINT被关注的用户 ID

user_id 和 follower_id 共同组成主键。例如记录 (1, 2) 表示用户 1 关注用户 2。

music_likes 用户喜欢音乐表

字段类型说明
user_idBIGINT用户 ID
music_idBIGINT用户喜欢的音乐 ID

user_id 和 music_id 共同组成主键。

music 音乐信息表

字段类型说明
idBIGINT音乐 ID
music_nameVARCHAR音乐名称

题目要求

  • 查询用户 1 关注的所有用户喜欢的音乐。
  • 不推荐用户 1 已经喜欢的音乐。
  • 推荐结果中不能包含重复歌曲。
  • 输出音乐名称,并按音乐 ID 升序排列。

期望输出列

列名说明
music_name推荐音乐名称

数据样例

当前运行环境
user_idPKBIGINTfollower_idPKBIGINT
12
14
23
输入数据显示 3 / 3
SQL 编辑器正在保存草稿...
正在加载 SQL 编辑器...

运行你的 SQL 查询后,结果将显示在这里