数据库实验2:数据查询与统计分析
5星 · 超过95%的资源 需积分: 23 128 浏览量
更新于2024-09-02
1
收藏 350KB DOCX 举报
本实验文档主要涉及数据库操作实践中的数据查询任务,涵盖了多个关键知识点。以下是详细的内容解读:
1. **查询特定年级学生信息**:
- 使用`SELECT`语句查询学生表(`STUDENTS`)中年级为'1'的学生名称,结果按照学号(`sid`)升序排列。默认情况下,不指定排序方式,`ORDER BY` `sid`会默认升序;若想降序排列,则应写为`ORDER BY sid DESC`。
2. **计算合格课程的积点**:
- 通过`WHERE`子句筛选出成绩大于等于60的学生选课记录,然后计算成绩转换为积点`(score-60)*0.1+1`,得到`jidian`字段。
3. **查询课时为特定值的课程**:
- 使用`OR`逻辑运算符筛选出课时(`hour`)为30或60的课程名称。
4. **查找课程名称包含特定字符串的课程**:
- 使用`LIKE`关键字和通配符`%`匹配课程名中包含"数"的课程编号。
5. **获取不重复的选课课程编号**:
- 使用`DISTINCT`关键字确保课程编号列表中不会出现重复,显示所有不同课程号。
6. **计算教师的平均工资**:
- 计算`TEACHERS`表中所有老师的平均工资,结果为`avgSalary`。
7. **查询学生总平均成绩排序**:
- 分组查询每个学生的选课平均成绩(`avgScore`),并按降序排列,以便于找出总平均成绩最高的学生。
8. **统计课程选课人数与平均成绩**:
- 对`CHOICES`表按课程编号(`cid`)分组,计算选课人数(`COUNT(sid)`)和平均成绩(`AVG(score)`).
9. **查找至少选修两门课程的学生**:
- 使用`HAVING`子句过滤出选择课程数量(`COUNT(sid)`)至少为2的学生编号。
10. **获取特定学生的所有课程及其成绩**:
- 通过连接`COURSES`和`CHOICES`表,找出学生编号为'S244157'的学生所选课程的课程名称和成绩。
11. **查找选修数据库课程的学生编号**:
- 再次利用连接查询,筛选出选修了数据库课程(`COURSES`)的学生编号。
这些查询展示了在实际数据库管理中如何有效地提取、筛选和分析数据,包括基本的SQL操作、数据聚合函数的使用以及连接表来获取关联数据。这些知识点对于理解和操作数据库系统至关重要,能够帮助学习者深化对关系型数据库的理解和应用能力。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2023-03-04 上传
2024-07-15 上传
2022-07-04 上传
2022-12-18 上传
2021-10-05 上传
2024-06-30 上传
雾眠气泡水:)
- 粉丝: 525
- 资源: 2
最新资源
- LSketch-开源
- fable-compiler.github.io:寓言网站
- yomama:我为什么做这个
- tomcat安装及配置教程.zip
- detailed:使用 ActiveRecord 在单表和多表继承之间妥协
- nuaa-sql-bigwork-frontend::file_cabinet:NUAA 2018 数据库实验 - 学生管理系统 - 前端 - 基于 React + Antd + Electron
- CityNews:我的htmlcss研究中的另一个项目
- C64-Joystick-Adapter:一个简单的设备,可以通过USB(使用Arduino Pro Micro)将两个Commodore 64游戏杆连接到现代计算机。 总体目标是能够在模拟器中使用老式游戏杆
- pyg_lib-0.2.0+pt20cpu-cp311-cp311-linux_x86_64whl.zip
- webharas-api
- nuaa-sql-bigwork-backend::file_cabinet:NUAA 2018 数据库实验 - 学生管理系统 - 后端 - 基于 nodejs + express
- ANNOgesic-0.7.3-py3-none-any.whl.zip
- MyPullToRefresh:自己保存的下拉刷新控件
- nekomiao123:我的自述文件
- neural_stpp:用于时间戳异类数据的深度生成建模,可为多种时空域提供高保真模型
- CCeButtonST v1.2