SQL查询技巧:学生、课程与教师数据操作
需积分: 9 64 浏览量
更新于2024-07-27
收藏 1.09MB PDF 举报
"该PDF文件包含了SQL查询的经典实例,涉及了多个关于学生、课程、教师和成绩的数据表操作。"
在SQL中,我们通常使用不同的查询来获取、分析和操作数据库中的数据。以下是对给定文件中各问题的详细解释:
1. 查询“001”课程比“002”课程成绩高的所有学生的学号:
这个查询通过子查询分别获取两门课程的成绩,然后比较并找出分数更高的学生。
2. 查询平均成绩大于60分的同学的学号和平均成绩:
使用`GROUP BY`和`HAVING`子句按学号分组,并计算每个学生的平均成绩,筛选出平均分大于60的学生。
3. 查询所有同学的学号、姓名、选课数、总成绩:
此查询使用左连接将学生表与成绩表连接,通过`GROUP BY`计算每个学生的选课数量和总成绩。
4. 查询姓“李”的老师的个数:
利用`LIKE`操作符匹配姓“李”的老师,`DISTINCT`确保计数不重复。
5. 查询没学过“叶平”老师课的同学的学号、姓名:
使用`NOT IN`子句排除学过“叶平”老师课程的学生。
6. 查询学过“001”并且也学过编号“002”课程的同学的学号、姓名:
结合`INNER JOIN`和`EXISTS`子句,找出既学过“001”又学过“002”的学生。
7. 查询学过“叶平”老师所教的所有课的同学的学号、姓名:
通过`IN`子句匹配叶平老师教的所有课程,并使用`HAVING`检查学生是否学过所有课程。
8. 查询课程编号“002”的成绩比课程编号“001”课程低的所有同学的学号、姓名:
使用子查询来比较两个课程的分数。
9. 查询所有课程成绩小于60分的同学的学号、姓名:
使用`NOT IN`子句排除所有课程分数大于60的学生。
10. 查询没有学全所有课的同学的学号、姓名:
通过`HAVING`子句检查学生选修的课程数量是否少于所有课程的数量。
11. 查询至少有一门课与学号为“1001”的同学所学相同的同学的学号和姓名:
使用`IN`子句匹配至少有一门相同课程的学生。
12. 查询至少学过学号为“001”同学所有一门课的其他同学学号和姓名:
找出至少学过“001”同学所有一门课程的其他学生。
13. 把“SC”表中“叶平”老师教的课的成绩都更改为此课程的平均成绩:
使用`UPDATE`语句配合子查询,更新叶平老师所教课程的平均分。
14. 删除学习“叶平”老师课的SC表记录:
`DELETE`语句与子查询结合,移除叶平老师课程的相关记录。
15. 向SC表中插入一些记录,这些记录要求符合以下条件:没有上过编号“003”课程的同学学号,号课的平均成绩:
`INSERT INTO`语句结合子查询,为未上过“003”课程的学生插入新记录。
16. 按平均成绩从高到低显示所有学生的“数据库”、“企业管理”、“英语”三门的课程成绩:
多列子查询用于显示指定课程的成绩,`GROUP BY`和`AVG`计算平均分,`ORDER BY`进行排序。
17. 查询各科成绩最高和最低的分:
通过自连接和子查询找出每门课程的最高分和最低分。
这些例子展示了SQL在处理关系型数据库时的强大功能,包括聚合函数(如`COUNT`, `AVG`, `MAX`, `MIN`)、连接操作(如`JOIN`, `LEFT JOIN`, `INNER JOIN`)、子查询以及条件过滤(如`WHERE`, `HAVING`, `IN`, `NOT IN`, `LIKE`)。理解并熟练运用这些技术对于SQL查询和数据管理至关重要。
2012-09-09 上传
2024-11-29 上传
2024-07-27 上传
2022-02-17 上传
2022-02-17 上传
2022-02-17 上传
jilongliang
- 粉丝: 40
- 资源: 94
最新资源
- CoreOS部署神器:configdrive_creator脚本详解
- 探索CCR-Studio.github.io: JavaScript的前沿实践平台
- RapidMatter:Web企业架构设计即服务应用平台
- 电影数据整合:ETL过程与数据库加载实现
- R语言文本分析工作坊资源库详细介绍
- QML小程序实现风车旋转动画教程
- Magento小部件字段验证扩展功能实现
- Flutter入门项目:my_stock应用程序开发指南
- React项目引导:快速构建、测试与部署
- 利用物联网智能技术提升设备安全
- 软件工程师校招笔试题-编程面试大学完整学习计划
- Node.js跨平台JavaScript运行时环境介绍
- 使用护照js和Google Outh的身份验证器教程
- PHP基础教程:掌握PHP编程语言
- Wheel:Vim/Neovim高效缓冲区管理与导航插件
- 在英特尔NUC5i5RYK上安装并优化Kodi运行环境