假设云音乐数据库里面现在有几张如下简化的数据表: 关注follow表,第一列是关注人的id,第二列是被关注人的id,这2列的id组成主键 +———+————-+ | user_id | follower_id | +———+————-+ | 1 | 2 | | 1 | 4 | | 2 | 3 | +———+————-+ 这张表的第一行代表着用户id为1的关注着id为2的用户 这张表的第二行代表着用户id为1的关注着id为4的用户 这张表的第三行代表着用户id为2的关注着id为3的用户 个人的喜欢的音乐music_likes表,第一列是用户id,第二列是喜欢的音乐id,这2列的id组成主键 +———+———-+ | user_id | music_id | +———+———-+ | 1 | 17 | | 2 | 18 | | 2 | 19 | | 3 | 20 | | 4 | 17 | +———+———-+ 这张表的第一行代表着用户id为1的喜欢music_id为17的音乐 …. 这张表的第五行代表着用户id为4的喜欢music_id为17的音乐 音乐music表,第一列是音乐id,第二列是音乐name,id是主键 +—-+————+ | id | music_name | +—-+————+ | 17 | yueyawang | | 18 | kong | | 19 | MOM | | 20 | Sold Out | +—-+————+ 请你编写一个SQL,查询向user_id = 1 的用户,推荐其关注的人喜欢的音乐。 不要推荐该用户已经喜欢的音乐,并且按music的id升序排列。你返回的结果中不应当包含重复项 上面的查询结果如下: +————+ | music_name | +————+ | kong | | MOM | +————+-笔试面试资料

这是qklbishe.com第5369 篇笔试面试资料
提供答案分析,通过本文《假设云音乐数据库里面现在有几张如下简化的数据表:
关注follow表,第一列是关注人的id,第二列是被关注人的id,这2列的id组成主键
+———+————-+ | user_id | follower_id | +———+————-+ | 1 | 2 | | 1 | 4 | | 2 | 3 | +———+————-+
这张表的第一行代表着用户id为1的关注着id为2的用户
这张表的第二行代表着用户id为1的关注着id为4的用户
这张表的第三行代表着用户id为2的关注着id为3的用户

个人的喜欢的音乐music_likes表,第一列是用户id,第二列是喜欢的音乐id,这2列的id组成主键
+———+———-+ | user_id | music_id | +———+———-+ | 1 | 17 | | 2 | 18 | | 2 | 19 | | 3 | 20 | | 4 | 17 | +———+———-+
这张表的第一行代表着用户id为1的喜欢music_id为17的音乐
….
这张表的第五行代表着用户id为4的喜欢music_id为17的音乐

音乐music表,第一列是音乐id,第二列是音乐name,id是主键
+—-+————+ | id | music_name | +—-+————+ | 17 | yueyawang | | 18 | kong | | 19 | MOM | | 20 | Sold Out | +—-+————+

请你编写一个SQL,查询向user_id = 1 的用户,推荐其关注的人喜欢的音乐。
不要推荐该用户已经喜欢的音乐,并且按music的id升序排列。你返回的结果中不应当包含重复项
上面的查询结果如下:
+————+ | music_name | +————+ | kong | | MOM | +————+-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:
假设云音乐数据库里面现在有几张如下简化的数据表:
关注follow表,第一列是关注人的id,第二列是被关注人的id,这2列的id组成主键

+---------+-------------+ | user_id | follower_id | +---------+-------------+ |       1 |           2 | |       1 |           4 | |       2 |           3 | +---------+-------------+

这张表的第一行代表着用户id为1的关注着id为2的用户
这张表的第二行代表着用户id为1的关注着id为4的用户
这张表的第三行代表着用户id为2的关注着id为3的用户

个人的喜欢的音乐music_likes表,第一列是用户id,第二列是喜欢的音乐id,这2列的id组成主键

+---------+----------+ | user_id | music_id | +---------+----------+ |       1 |       17 | |       2 |       18 | |       2 |       19 | |       3 |       20 | |       4 |       17 | +---------+----------+

这张表的第一行代表着用户id为1的喜欢music_id为17的音乐
….
这张表的第五行代表着用户id为4的喜欢music_id为17的音乐

音乐music表,第一列是音乐id,第二列是音乐name,id是主键

+----+------------+ | id | music_name | +----+------------+ | 17 | yueyawang  | | 18 | kong       | | 19 | MOM        | | 20 | Sold Out   | +----+------------+

请你编写一个SQL,查询向user_id = 1 的用户,推荐其关注的人喜欢的音乐。
不要推荐该用户已经喜欢的音乐,并且按music的id升序排列。你返回的结果中不应当包含重复项
上面的查询结果如下:

+------------+ | music_name | +------------+ | kong       | | MOM        | +------------+

假设云音乐数据库里面现在有几张如下简化的数据表:   关注follow表,第一列是关注人的id,第二列是被关注人的id,这2列的id组成主键   +---------+-------------+ | user_id | follower_id | +---------+-------------+ |       1 |           2 | |       1 |           4 | |       2 |           3 | +---------+-------------+    这张表的第一行代表着用户id为1的关注着id为2的用户   这张表的第二行代表着用户id为1的关注着id为4的用户   这张表的第三行代表着用户id为2的关注着id为3的用户         个人的喜欢的音乐music_likes表,第一列是用户id,第二列是喜欢的音乐id,这2列的id组成主键   +---------+----------+ | user_id | music_id | +---------+----------+ |       1 |       17 | |       2 |       18 | |       2 |       19 | |       3 |       20 | |       4 |       17 | +---------+----------+    这张表的第一行代表着用户id为1的喜欢music_id为17的音乐   ....   这张表的第五行代表着用户id为4的喜欢music_id为17的音乐         音乐music表,第一列是音乐id,第二列是音乐name,id是主键   +----+------------+ | id | music_name | +----+------------+ | 17 | yueyawang  | | 18 | kong       | | 19 | MOM        | | 20 | Sold Out   | +----+------------+          请你编写一个SQL,查询向user_id = 1 的用户,推荐其关注的人喜欢的音乐。   不要推荐该用户已经喜欢的音乐,并且按music的id升序排列。你返回的结果中不应当包含重复项   上面的查询结果如下:   +------------+ | music_name | +------------+ | kong       | | MOM        | +------------+ DDDDDaemon
select distinct music_name

from
(select follower_id 
from follow
where user_id=1)a

left join 
(select  user_id,
         music_id
from music_likes)b on a.follower_id =b.user_id

left join 
(select music_id
from music_likes
where user_id=1)c on b.music_id=c.music_id

left join 
(select id,
        music_name
from music)d on b.music_id=d.id

where b.user_id is not NULL
and c.music_id is NULL
order by b.music_id

今天 18:53:14 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 假设云音乐数据库里面现在有几张如下简化的数据表: 关注follow表,第一列是关注人的id,第二列是被关注人的id,这2列的id组成主键 +———+————-+ | user_id | follower_id | +———+————-+ | 1 | 2 | | 1 | 4 | | 2 | 3 | +———+————-+ 这张表的第一行代表着用户id为1的关注着id为2的用户 这张表的第二行代表着用户id为1的关注着id为4的用户 这张表的第三行代表着用户id为2的关注着id为3的用户 个人的喜欢的音乐music_likes表,第一列是用户id,第二列是喜欢的音乐id,这2列的id组成主键 +———+———-+ | user_id | music_id | +———+———-+ | 1 | 17 | | 2 | 18 | | 2 | 19 | | 3 | 20 | | 4 | 17 | +———+———-+ 这张表的第一行代表着用户id为1的喜欢music_id为17的音乐 …. 这张表的第五行代表着用户id为4的喜欢music_id为17的音乐 音乐music表,第一列是音乐id,第二列是音乐name,id是主键 +—-+————+ | id | music_name | +—-+————+ | 17 | yueyawang | | 18 | kong | | 19 | MOM | | 20 | Sold Out | +—-+————+ 请你编写一个SQL,查询向user_id = 1 的用户,推荐其关注的人喜欢的音乐。 不要推荐该用户已经喜欢的音乐,并且按music的id升序排列。你返回的结果中不应当包含重复项 上面的查询结果如下: +————+ | music_name | +————+ | kong | | MOM | +————+-笔试面试资料

提供最优质的资源集合

立即查看 了解详情