SQL查询实践:学生选课与成绩分析
需积分: 0 111 浏览量
更新于2024-08-04
收藏 62KB DOCX 举报
"上机实验四五六参考答案1"
这篇实验是关于使用SQL语言进行数据库查询的实践。SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言。实验中的任务涵盖了多个基本的SQL查询操作,包括查找特定信息、联接表格、使用聚合函数等。
1. 找出所有被学生选修了的课程号:
使用`SELECT DISTINCT`语句,从`grade`表中选取不同的课程号(`cno`),这将返回所有被学生选修的课程编号。
2. 找出01311班女学生的个人信息:
在`student`表中通过`WHERE`子句过滤出班级编号(`clno`)为'01311'且性别(`ssex`)为'女'的所有记录,返回这些学生的完整信息。
3. 找出01311班、01312班的学生姓名、性别、出生日期:
同样使用`WHERE`子句,但条件是班级编号为'01311'或'01312',返回这些学生的姓名、性别和年龄。
4. 找出所有姓李的学生的个人信息:
利用`LIKE`操作符配合通配符%,查询`student`表中名字以'李'开头的所有学生记录。
5. 找出学生李勇所在班级的学生人数:
这个查询涉及到两个表格的联接。首先找到学生李勇所在的班级编号,然后查询该班级在`class`表中的学生人数。这里用了三种方法:直接联接、子查询嵌套在`IN`操作符中以及子查询直接作为等值比较的右侧。
6. 找出课程名为操作系统的平均成绩、最高分、最低分:
通过联接`grade`和`course`表,筛选出课程名为'操作系统'的记录,然后使用聚合函数`AVG`, `MAX`, `MIN`分别计算平均分、最高分和最低分。
7. 找出选修了课程的学生人数:
方法一是计算不同学生编号(`sno`)的数量,表示选课的学生总数;方法二是添加额外的条件`gmark IS NOT NULL`来确保只计算有成绩的学生。
8. 找出选修了课程操作系统的学生人数:
分别通过联接和子查询找出选修了'操作系统'课程的学生人数。
9. 找出2000级计算机软件班的成绩:
这个查询可能需要结合`student`和`grade`表的信息,查找2000级计算机软件班(假设班级编号为特定值)的学生的成绩。
以上就是实验中涉及的主要SQL查询操作,它们展示了如何从数据库中提取所需信息,包括筛选、聚合、联接和子查询等核心技能。这些查询对于理解SQL语言的基本结构和功能至关重要。
2022-05-08 上传
2022-08-08 上传
2009-07-06 上传
2008-06-24 上传
2021-07-10 上传
2022-06-17 上传
2022-07-13 上传
2021-10-03 上传
城北伯庸
- 粉丝: 35
- 资源: 315
最新资源
- SimpleScheduler:一个家庭助理插件,每周安排实体开启
- Android下拉刷新控件(ListView好ScrollView版)(实用1).zip
- 基于lstm自动生成音乐.zip
- satiator-menu:Sega Saturn的Satiator墨盒的菜单
- ICA_Algorithm_帝国竞争算法_算法_帝国竞争_ICA_ICAMATLAB_源码.rar.rar
- 热供水控制程序.zip西门子PLC编程实例程序源码下载
- 阿里云java短信验证码源码-seckill:电商秒杀系统
- GmailRepo:学习GIT和Selenium框架-Gmail测试代码的完整CICD流程
- react-js-tutorial
- aurora:考虑到模块化的恶意软件相似性平台
- 多项式拟合-并生成拟合曲线
- TextWithImage:NSAttributedText类别类,用于获取带有图像的文本,反之亦然
- owcd-cert:OWCD 认证培训实例(1Z0-899 - Java EE 6 Web Component Developer Certified Expert)
- Python库 | aws_cdk.aws_elasticsearch-0.39.0-py3-none-any.whl
- 基于LSTM和动量模型的加密货币交易策略.zip
- springboot005学生心理咨询评估系统_rar.zip