2018网易校招数据分析师笔试真题及答案

版权申诉
5星 · 超过95%的资源 2 下载量 124 浏览量 更新于2024-09-09 收藏 441KB PDF 举报
在网易2018年的校招数据分析师笔试卷中,考察了考生对SQL查询的理解以及数据关联分析的能力。首先,题目涉及的是两个关系数据库表:学生表S(包含学号SNO和姓名SNAME)、课程表C(包含课程号CNO、课程名CNAME和老师CTEACHER)以及选课表SC(包含学号SNO、课程号CNO和成绩SCORE)。以下是两个问题的详细解答: 1. **找出没有选“小易”老师课程的所有学生姓名** 考生需要通过连接三个表并使用NOT IN子句来实现这一目标。SQL查询语句如下: ``` SELECT S.SNAME FROM S JOIN SC ON S.SNO = SC.SNO JOIN C ON SC.CNO = C.CNO WHERE C.CTEACHER != '小易'; ``` 这个查询将学生表、选课表和课程表联接起来,然后筛选出那些老师不是“小易”的学生的姓名。 2. **列出有三门(包括三门)以上课程分数>90的学生姓名及其平均成绩** 为了找出满足条件的学生姓名和他们的平均成绩,需要使用GROUP BY和HAVING子句进行分组和过滤。查询语句如下: ``` SELECT S.SNAME, AVG(SC.SCORE) FROM S JOIN SC ON S.SNO = SC.SNO JOIN C ON SC.CNO = C.CNO GROUP BY S.SNAME HAVING COUNT(*) >= 3 AND AVG(SC.SCORE) > 90; ``` 这个查询首先将学生、选课和课程表联接,然后按学生姓名分组,接着筛选出至少选了3门课程且这些课程平均成绩大于90的学生,并计算他们的平均成绩。 这些题目不仅测试了基础的SQL查询技能,还涉及到数据分析和理解实际业务场景的能力,例如理解课程与学生之间的关系以及如何根据特定条件筛选数据。对于准备参加数据分析师职位招聘的学生来说,熟悉这类题目和解决方案是提升竞争力的关键。