数据库实验:数据检索与SQL查询技巧

需积分: 25 0 下载量 192 浏览量 更新于2024-09-03 收藏 340KB PDF 举报
实验三主要围绕数据库中的数据检索展开,涉及到SQL查询的多个核心概念和技巧。以下是根据提供的题目逐一解析的知识点: 1. **查询特定学院的学生信息** - 学生表中筛选出软件工程学院(SE)的学生,需要使用`WHERE`子句结合学院字段,查询学号和姓名。 2. **嵌套查询与排序** - 对于C002课程的成绩查询,首先筛选出相关学号和成绩,然后通过`ORDER BY`语句实现降序和升序排列。 3. **范围查询与调整** - 要求成绩降低10%,需使用`BETWEEN`操作符结合`OFFSET`和`LIMIT`来实现。 4. **多条件查询** - 通过`OR`关键字连接两个学院名(SE或CH)和姓氏“张”,查找相关信息。 5. **计算教师课程总时数** - 需要从多个表中关联查询,计算特定教师的课程总时数。 6. **嵌套查询获取教师信息** - 利用内联子查询查询陈流星同学选修的课程的任课教师。 7. **复杂统计查询** - 计算总成绩在100分以下的学生的学号、总成绩和平均成绩,可能涉及窗口函数或子查询。 8. **内连接查询** - 使用`INNER JOIN`连接SC和Student表,查询C002课程成绩的学生信息。 9. **自连接查询** - 通过两表之间的自身连接,找出选修课程相同且成绩相同的学生信息。 10. **内连接查询的性能优化** - 按成绩降序排列所有及格学生的成绩信息。 11. **外连接查询** - 获取所有学生的总成绩,包括未选课者,需要使用`LEFT JOIN`或`RIGHT JOIN`。 12. **谓词查询** - 使用`IN`关键字查询某课程成绩在90分以上的学生学号和姓名。 13. **EXISTS连接查询** - 判断学生是否有成绩记录,筛选出有成绩的学生学号和姓名。 14. **模糊匹配** - 在Course表中查找包含“数据”关键词的课程。 15. **外连接展示所有情况** - 结合多个表,显示所有学生的选课信息,包括未选课的学生。 16. **平均成绩最高学生** - 通过聚合函数和子查询找出平均成绩最高的学生学号。 17. **EXISTS谓词查询** - 查找SE学院学生及其选修课程和分数,仅显示存在成绩的学生。 18. **特定学生信息查询** - 直接查询某个学生的所有选课详情。 19. **比较成绩查询** - 找出C001课程成绩高于陈流星的学生信息。 20. **课程成绩对比** - 比较“计算机导论”和“数据结构”课程成绩。 在整个实验过程中,除了编写SQL语句,还需要检查实验设计的完整性、程序的运行情况、测试数据的有效性,以及对结果的分析和反馈。这是一项综合运用数据库操作技巧和逻辑思维的实践任务。