题解 | #浙江大学用户题目回答情况#

浙江大学用户题目回答情况

https://www.nowcoder.com/practice/55f3d94c3f4d47b69833b335867c06c1

# 可以用简单的等值连接来查询解决此题的多表情况
SELECT q.device_id, question_id, result
FROM question_practice_detail q, user_profile u
WHERE q.device_id = u.device_id 
      AND u.university = '浙江大学';


# id=id 都是主键 不可以
# elect a.device_id,	question_id,result
# from question_practice_detail a, user_profile b
# where a.id=b.id and university='浙江大学';

# :创建一张临时表用,获取浙江大学device_id对用户题目回答明细进行过滤。

SELECT device_id, question_id, result
FROM   question_practice_detail
WHERE  device_id IN
	   ( SELECT device_id
         FROM user_profile
         WHERE university = '浙江大学'
       );
#  法三
SELECT q.device_id, question_id, result
FROM   question_practice_detail q
left JOIN   user_profile u
ON     q.device_id = u.device_id 
WHERE  u.university = '浙江大学';
#方法中,为何用了left join,而不直接采用join 呢。left join不是要保留主表中的所有吗
# 因为是要取浙江大学里的同学,的答题情况。这种情况下通常会考虑到万一有同学没有答题的异常情况,所以应该以同学信息表为主表。如果用INNER JOIN,会弃掉没有答题的同学的信息。






着重看一下这三种不同的实现方法

SQL错题 文章被收录于专栏

每天学习一遍 刷题刷题 越刷越强!

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-03 16:46
今天本来好好的,结果带教老师当着众人的面,直接大声叫我的名字,我过去还没站稳,劈头盖脸就是一句:“你这搞的什么玩意啊!没带脑子上班吗”那语气、那眼神,仿佛我做了什么十恶不赦的大事。我到底干啥了?不过是一些小疏漏,谁刚开始实习不会犯错啊?可她倒好,不仅不耐心指导,还这样贬低我。我满心的热情和期待,瞬间被浇了个透心凉🥶我也是爹妈疼爱的宝贝,来实习是为了学习、成长,不是来被人随意羞辱的!真心希望遇到的带教老师能多些耐心和善意,毕竟谁都有从零开始的时候,这样的“教育”方式,真的只会让人越来越没自信
longerluck...:前几年实习(初创公司),我们老板每月不固定会举行会议,叫我们几个实习生谈一下生活看到或听到的一些事情,并给出看法,当时我就正常讲了下我所见到的,没有个人看法,老板直接当着众人的面骂了我,那时候我真是感觉尴尬的要死(毕竟还有其他正式员工在)后面没待多久我就提出离职(因为当时我还负责一个项目),我leader叫我不要走,说给我涨工资,我反正觉得这种公司我是待不下去了,官味太重了,最后我还是跑路
实习吐槽大会
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务