SQL查询技巧:对比课程成绩、统计与分析
需积分: 3 41 浏览量
更新于2024-09-10
1
收藏 52KB DOC 举报
"50个经典的SQL语句用于查询数据库中的学生、课程、教师和成绩信息。"
在这些SQL查询中,我们涉及了几个关键的SQL概念和操作,包括子查询、联接、聚合函数、分组、条件过滤以及通配符匹配。以下是这些SQL语句解析:
1. 查询“001”课程比“002”课程成绩高的所有学生的学号:
这个查询使用了子查询来比较两个课程的分数。首先,它分别从`SC`表中选取了“001”和“002”课程的学生分数,然后通过子查询对比找出那些在“001”课程中分数高于“002”课程的学生。
2. 查询平均成绩大于60分的同学的学号和平均成绩:
此查询运用了`GROUP BY`和`AVG()`函数来计算每个学生的平均成绩,然后通过`HAVING`子句过滤出平均成绩大于60的学生。
3. 查询所有同学的学号、姓名、选课数、总成绩:
这个查询联合了`STUDENT`和`SC`表,使用`COUNT()`函数计算每个学生的选课数,`SUM()`函数计算总成绩,再通过`GROUP BY`按学生学号和姓名进行分组。
4. 查询姓“李”的老师的个数:
这里利用了`LIKE`操作符配合通配符`%`来匹配姓“李”的老师,并通过`COUNT(*)`计算出数量。
5. 查询没学过“叶平”老师课的同学的学号、姓名:
此查询使用`NOT IN`操作符和子查询来排除掉学过“叶平”老师课程的学生,子查询关联了`SC`, `COURSE`, 和 `TEACHER`表,找到与“叶平”相关联的学号。
6. 查询学过“001”并且也学过编号“002”课程的同学的学号、姓名:
这个查询结合了`INNER JOIN`和`EXISTS`子查询,找到同时选修了“001”和“002”课程的学生。
7. 查询学过“叶平”老师所教的所有课的同学的学号、姓名:
该查询首先找出所有由“叶平”教授的课程,然后通过`IN`操作符找到选修了所有这些课程的学生。
这些SQL语句展示了如何使用不同的SQL技巧来处理多表查询,包括数据的筛选、聚合、关联和子查询的运用,是学习和理解SQL查询能力的重要示例。通过这些例子,我们可以深入理解SQL在实际数据库操作中的应用,尤其是针对教育领域的数据管理。
2010-10-10 上传
2023-12-14 上传
2023-07-02 上传
2023-05-24 上传
2023-11-04 上传
2023-05-24 上传
2023-05-30 上传
Null_GGBond
- 粉丝: 1
- 资源: 12
最新资源
- NIST REFPROP问题反馈与解决方案存储库
- 掌握LeetCode习题的系统开源答案
- ctop:实现汉字按首字母拼音分类排序的PHP工具
- 微信小程序课程学习——投资融资类产品说明
- Matlab犯罪模拟器开发:探索《当蛮力失败》犯罪惩罚模型
- Java网上招聘系统实战项目源码及部署教程
- OneSky APIPHP5库:PHP5.1及以上版本的API集成
- 实时监控MySQL导入进度的bash脚本技巧
- 使用MATLAB开发交流电压脉冲生成控制系统
- ESP32安全OTA更新:原生API与WebSocket加密传输
- Sonic-Sharp: 基于《刺猬索尼克》的开源C#游戏引擎
- Java文章发布系统源码及部署教程
- CQUPT Python课程代码资源完整分享
- 易语言实现获取目录尺寸的Scripting.FileSystemObject对象方法
- Excel宾果卡生成器:自定义和打印多张卡片
- 使用HALCON实现图像二维码自动读取与解码