SQL练习题集:提升你的数据库查询技能

需积分: 9 3 下载量 105 浏览量 更新于2024-09-17 收藏 49KB DOC 举报
"这些SQL练习题涵盖了基础查询到复杂聚合函数的应用,旨在提升SQL操作技能。" 在SQL语言中,这些经典练习题涉及到的核心概念和语法包括: 1. **基本查询**:第一题展示了如何使用`SELECT`语句从`Student`表中选择特定列(Sname, Ssex, Class)的所有记录。这是SQL中最基础的查询操作。 2. **去重查询**:第二题使用`DISTINCT`关键字查询`Teacher`表中不重复的`Depart`列,这有助于去除重复的部门信息。 3. **全表查询**:第三题`SELECT * FROM Student`显示了如何获取表中的所有记录和所有列,`*`是通配符,代表所有列。 4. **范围查询**:第四题利用`BETWEEN`关键字查询`Score`表中成绩在60到80之间的记录,`BETWEEN`包含边界值。 5. **多值查询**:第五题使用`IN`关键字查找成绩为85, 86或88的记录,`IN`允许指定一个值列表进行匹配。 6. **逻辑组合查询**:第六题的`WHERE`子句结合了`OR`操作符,查询`Student`表中'95031'班或性别为'女'的学生记录。 7. **排序查询**:第七题`ORDER BY`语句按`Class`列降序排列`Student`表的所有记录,`DESC`表示降序。 8. **复合排序**:第八题同样使用`ORDER BY`,但同时按`Cno`升序和`Degree`降序排序`Score`表的记录。 9. **计数统计**:第九题用`COUNT(*)`函数计算'95031'班的学生人数,`COUNT(*)`返回指定列的记录数。 10. **最大值查询**:第十题通过子查询找出`Score`表中的最高分,并显示对应的`Sno`和`Cno`,`MAX(degree)`找出最高分。 11. **平均值计算**:第十一题使用`AVG()`函数查询'3-105'课程的平均分,`WHERE`子句筛选出对应课程。 12. **分组与条件聚合**:第十二题结合`LIKE`操作符、`GROUP BY`和`HAVING`来查询以3开头且至少有5名学生选修的课程的平均分数。`LIKE`用于模式匹配,`GROUP BY`用于分组,`HAVING`在聚合后添加条件。 13. **分组统计**:第十三题利用`GROUP BY`对每个学生的所有记录进行分组,然后使用`MIN`和`MAX`函数确定每个学生的最低分和最高分,`HAVING`过滤出满足特定条件的学生学号。 14. **跨表查询**:最后一题展示了如何使用`JOIN`操作(虽然题目中没有明确指出)从`Student`和`Score`表中联合查询学生的姓名、课程号和成绩。这通常涉及`INNER JOIN`或`LEFT JOIN`等连接类型。 这些练习题覆盖了SQL的基础操作,如选择、过滤、排序、统计和连接,对于理解和熟练掌握SQL语言至关重要。通过反复实践,你可以提高SQL查询能力,更好地处理数据查询和分析任务。