SQL练习题集:涵盖多表查询与面试难题

需积分: 50 5 下载量 57 浏览量 更新于2024-08-05 收藏 1.12MB DOCX 举报
该资源是一份关于MySQL三表联合查询的练习题集,适用于测试工程师进行SQL技能的提升。题目涵盖了多表查询的各种场景,包括基础查询、聚合函数、子查询以及复杂的条件过滤。提供了学生表A、成绩表B和课程表C的结构和数据,用于实践操作。 在这些练习题中,我们可以学习到以下关键知识点: 1. **基础查询**:如查询学习成绩及格以上的学生、以特定字符结尾的学生姓名等,这涉及到`SELECT`语句的基础用法和`WHERE`子句的条件过滤。 2. **连接查询**:多表查询是通过`JOIN`语句实现的,例如查询选修特定课程的学生、查询某个学生的所有任课老师等。 3. **聚合函数**:平均成绩计算涉及到`AVG()`函数,总分在80分以上的学生需要结合`SUM()`和`GROUP BY`语句。 4. **子查询**:找出没有参加考试的学生,可能需要使用`NOT EXISTS`或`LEFT JOIN`,以及`IS NULL`来检查是否有记录。 5. **数据修正**:对错误数据的修正,如调整TOM同学的不及格科目,这涉及到`UPDATE`语句。 6. **排序与分组**:按成绩降序排列所有同学的各科成绩,需要用到`ORDER BY`,同时可能结合`GROUP BY`来处理每个学生的所有成绩。 7. **高级查询**:如查询每门课都大于80分的学生,这可能需要使用嵌套查询或`INTERSECT`操作。查询一班各学科分数最高的学生,可能需要使用`GROUP BY`配合`MAX()`函数。 8. **数据插入与删除**:添加新老师记录、删除离职老师的相关课程记录,分别涉及`INSERT INTO`和`DELETE FROM`语句。 9. **表结构修改**:增加学生表中的班级字段,可能需要`ALTER TABLE`语句。 这些练习题覆盖了MySQL中的基础查询、连接查询、聚合函数、子查询、数据操作等核心概念,是提高SQL技能的有效途径。通过解决这些问题,测试工程师可以加深对数据库操作的理解,提升在实际工作中处理数据的能力。