数据库实验2:数据查询与统计分析

5星 · 超过95%的资源 需积分: 23 5 下载量 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操作、数据聚合函数的使用以及连接表来获取关联数据。这些知识点对于理解和操作数据库系统至关重要,能够帮助学习者深化对关系型数据库的理解和应用能力。