新蛋科技数据库笔试题解析与解答
需积分: 10 182 浏览量
更新于2025-01-05
1
收藏 9KB TXT 举报
"这是一份关于新蛋科技公司数据库笔试题的资料,包含了多道数据库查询题目,旨在考察应试者对SQL语言的理解和运用能力。"
这些笔试题主要涉及了SQL(结构化查询语言)的基本操作,如联接查询、分组统计以及条件判断。以下是对每道题目的解析:
1. 题目要求查询每个学生的所有课程信息,包括学生姓名(sname),课程名称(cname),教师姓名(teacher)和成绩(scgrade)。解决这个问题的关键是使用内连接(INNER JOIN)将学生表(S)、课程表(C)和选课表(SC)联接在一起,基于学生ID(sid)和课程ID(cid)的匹配。正确查询语句如下:
```sql
SELECT S.sname, C.cname, C.teacher, SC.scgrade
FROM S, C, SC
WHERE S.Sid = SC.sid AND C.cid = SC.cid
```
2. 题目要求找出每个老师教的不及格(scgrade < 60)的学生人数。这里需要用到GROUP BY子句进行分组,并使用COUNT函数计算每个组的成员数。同时,我们需要再次使用内连接来匹配课程ID。正确的查询语句如下:
```sql
SELECT C.teacher, C.cname, COUNT(SC.scgrade) AS NotPassCount
FROM C, SC
WHERE C.cid = SC.cid AND SC.scgrade < 60
GROUP BY C.teacher, C.cname
ORDER BY C.teacher, cname
```
3. 题目要求按照成绩范围将学生成绩分类为A、B、C、D四个等级。可以使用CASE语句来实现这个功能,根据scgrade的值设定不同的等级。查询语句如下:
```sql
SELECT S.sname, C.cname, C.teacher,
CASE
WHEN SC.scgrade >= 90 THEN 'A'
WHEN SC.scgrade >= 80 THEN 'B'
WHEN SC.scgrade >= 60 THEN 'C'
ELSE 'D'
END AS grade
FROM S, C, SC
WHERE S.Sid = SC.sid AND C.cid = SC.cid
```
4. 最后一道题目要求找出每个老师所教授的A等级(90及以上)和B等级(80-90)的学生人数。这需要两次使用子查询并联接来获取结果。首先,分别计算A等级和B等级的学生数量,然后将这两个子查询与教师表联接。查询语句如下:
```sql
SELECT A.teacher, M1.gradeCount_A, M2.gradeCount_B
FROM (
SELECT DISTINCT C.teacher
FROM C
) AS A
JOIN (
SELECT C.teacher, COUNT(SC.scgrade) AS gradeCount_A
FROM S, C, SC
WHERE S.Sid = SC.sid AND C.cid = SC.cid AND SC.scgrade >= 90
GROUP BY C.teacher
) AS M1 ON M1.teacher = A.teacher
JOIN (
SELECT C.teacher, COUNT(SC.scgrade) AS gradeCount_B
FROM S, C, SC
WHERE S.Sid = SC.sid AND C.cid = SC.cid AND SC.scgrade BETWEEN 80 AND 89
GROUP BY C.teacher
) AS M2 ON M2.teacher = A.teacher
```
这些题目覆盖了SQL中的基础查询和统计功能,对于理解如何在实际数据库环境中处理数据非常有帮助。通过解答这些问题,应试者可以展示他们在数据库管理和数据分析方面的技能。
414 浏览量
2013-08-06 上传
2019-12-18 上传
2012-06-06 上传
2011-08-15 上传
2012-12-25 上传
2021-09-27 上传
2011-06-27 上传
songlili
- 粉丝: 0
- 资源: 1
最新资源
- CryptsyPythonV2:用于Cryptsy V2 API的Python库
- jd茅台脚本代码详细
- Brutal space action-开源
- MyWays-MERN-Stack-Trainee-Task
- TicTacToe:酷的Python TicTacToe游戏
- 编译支持cuda的opencv时缺少的库.rar
- Azerion Ad Expert-crx插件
- 爱丽丝个人简历响应式网页模板
- 仓库只是python核心编程的习题
- Control-开源
- ajour.aws.dk
- 恰恰波拉
- TinkersMechworks:TConstruct扩展
- uncased_L-12_H-768_A-12.zip
- 27天成为Java大神
- 圆角列表视图的特效