SQL查询实战:成绩对比与学生信息汇总
4星 · 超过85%的资源 需积分: 4 186 浏览量
更新于2024-09-17
2
收藏 72KB DOC 举报
本文档提供了一系列SQL查询语句练习,旨在帮助学习者提升对SQL语言的理解和实践能力。以下是每个练习的问题和对应的解决方案:
1. 查询“001”课程比“002”课程成绩高的所有学生的学号:
这个查询通过子查询获取“001”和“002”课程的成绩,然后比较两个查询结果中对应学生的分数,只返回“001”课程分数大于“002”课程分数的学生学号。这样可以筛选出那些在指定课程中有较高表现的学生。
2. 查询平均成绩大于60分的同学的学号和平均成绩:
使用GROUP BY将学生按学号分组,然后计算每个学生的平均成绩,HAVING子句用来筛选出平均成绩大于60分的学生,结果包括学号和平均成绩。
3. 查询所有同学的学号、姓名、选课数、总成绩:
这是一个左外连接查询,将学生表与成绩表联接,根据学号匹配,然后分别统计每个学生的课程数量(使用COUNT函数)和总成绩(使用SUM函数),结果包括学号、姓名以及这些统计数据。
4. 查询姓“李”的老师的个数:
通过DISTINCT关键字去除重复的教师姓名,使用LIKE操作符查找以“李”开头的姓名,统计这样的教师数量。
5. 查询没学过“叶平”老师课的同学的学号和姓名:
这个查询首先找出叶平老师的所有课程,然后从学生表中排除这些课程的授课记录,只保留没有选修过叶平课程的学生信息。
6. 查询学过“001”并且也学过编号“002”课程的同学的学号和姓名:
使用EXISTS子句检查一个学生是否同时选修了“001”和“002”课程,返回符合条件的学生学号和姓名。
7. 查询学过“叶平”老师所教的所有课的同学的学号、姓名:
此查询同样涉及多表联接,找到叶平老师的所有课程,再与学生表联接,找出这些课程的选修学生及其信息。
这些SQL查询涵盖了基本的联接(JOIN)、聚合函数(AVG、COUNT、SUM)、条件筛选(WHERE、HAVING)以及子查询等重要知识点,通过实际操作可以加深对SQL基础结构和功能的理解。
2023-07-07 上传
2019-07-09 上传
2010-10-23 上传
2019-11-22 上传
2022-05-18 上传
2021-12-11 上传
2024-07-15 上传
2021-10-12 上传
nuonuo1905
- 粉丝: 0
- 资源: 12
最新资源
- zlib-1.2.12压缩包解析与技术要点
- 微信小程序滑动选项卡源码模版发布
- Unity虚拟人物唇同步插件Oculus Lipsync介绍
- Nginx 1.18.0版本WinSW自动安装与管理指南
- Java Swing和JDBC实现的ATM系统源码解析
- 掌握Spark Streaming与Maven集成的分布式大数据处理
- 深入学习推荐系统:教程、案例与项目实践
- Web开发者必备的取色工具软件介绍
- C语言实现李春葆数据结构实验程序
- 超市管理系统开发:asp+SQL Server 2005实战
- Redis伪集群搭建教程与实践
- 掌握网络活动细节:Wireshark v3.6.3网络嗅探工具详解
- 全面掌握美赛:建模、分析与编程实现教程
- Java图书馆系统完整项目源码及SQL文件解析
- PCtoLCD2002软件:高效图片和字符取模转换
- Java开发的体育赛事在线购票系统源码分析