"SQL实例教学:50句查询一个课题涉及的学生成绩与教师信息"
下载需积分: 0 | DOCX格式 | 25KB |
更新于2024-03-22
| 107 浏览量 | 举报
在这个数据库中,涉及到学生表(tblStudent)、课程表(tblCourse)、成绩表(tblScore)和教师表(tblTeacher)四张表的数据查询。其中,学生表包含学生的编号(StuId)、姓名(StuName)、年龄(StuAge)和性别(StuSex)信息;课程表包含课程的编号(CourseId)、课程名称(CourseName)和教师编号(TeaId)信息;成绩表包含学生编号(StuId)、课程编号(CourseId)和成绩(Score)信息;教师表包含教师编号(TeaId)和姓名(TeaName)信息。
针对问题1,要查询“001”课程比“002”课程成绩高的所有学生的学号,可以通过以下SQL语句实现:
```
SELECT DISTINCT S.StuId
FROM tblScore S
WHERE S.CourseId = '001' AND S.Score > (
SELECT MAX(Score)
FROM tblScore
WHERE CourseId = '002' AND StuId = S.StuId
);
```
这条SQL语句的作用是首先在成绩表中找到所有选修“001”课程且成绩高于选修“002”课程中最高成绩的学生的学号。首先对成绩表进行自连接,筛选出选修“001”课程的学生成绩,并与另一次子查询结果(最高的“002”课程成绩)进行比较,最终得到“001”课程成绩高于“002”课程成绩的学生学号。
除了问题1,我们还可以通过不同的SQL语句来实现更多数据查询功能,如:
2、查询选修“002”课程的成绩高于80分的学生姓名和成绩;
```
SELECT S.StuName, S.Score
FROM tblStudent S
INNER JOIN tblScore SC ON S.StuId = SC.StuId
WHERE SC.CourseId = '002' AND SC.Score > 80;
```
3、查询成绩表中最高分和最低分的学生姓名和成绩;
```
SELECT S.StuName, S.Score
FROM tblStudent S
INNER JOIN tblScore SC ON S.StuId = SC.StuId
WHERE SC.Score = (
SELECT MAX(Score)
FROM tblScore
)
OR SC.Score = (
SELECT MIN(Score)
FROM tblScore
);
```
4、查询每门课程的平均分和及格率;
```
SELECT C.CourseName, AVG(SC.Score) AS AverageScore, COUNT(CASE WHEN SC.Score >= 60 THEN 1 END) / COUNT(*) AS PassRate
FROM tblCourse C
LEFT JOIN tblScore SC ON C.CourseId = SC.CourseId
GROUP BY C.CourseName;
```
通过以上SQL语句,我们可以在这个数据库中实现更多复杂的数据查询和分析。在实际应用中,可以根据具体需求编写不同的SQL语句来进行数据查询和统计,以满足业务需求并获取准确的数据分析结果。
相关推荐
![filetype](https://img-home.csdnimg.cn/images/20241231044955.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044901.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044901.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044901.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044901.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044901.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044901.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044901.png)
![filetype](https://img-home.csdnimg.cn/images/20241231044901.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
weixin_45823866
- 粉丝: 0
最新资源
- Java消息服务JMS与消息驱动BeanMDB详解
- ASP.NET性能优化:SqlDataRead vs Dataset 与 ExecuteNonQuery vs ExecuteScalar
- 将.aspx扩展名改为.mspx的配置方法
- EJB技术详解:从基础到高级
- Spring配置数据库连接:DriverManagerDataSource与DBCP
- Spring框架深度解析:Bean与AOP实践
- Spring入门与IOC核心概念详解及应用示例
- 哈尔滨理工大一卡通系统数据结构与实现设计详解
- GEF入门教程:打造Eclipse图形编辑框架
- μC/OS-II中文手册入门指南
- 回溯法在0-1背包问题中的应用
- 贪心算法详解:从活动安排到最优化问题
- C/C++笔试面试精华题:类型转换与内存比较
- DirectX9基础教程:入门指南
- Oracle数据库监控与管理关键要素
- 互联网巨头的网络经济模式:从B-B到电子商务转型