SQL查询实战:从基础到进阶

4星 · 超过85%的资源 需积分: 9 3 下载量 78 浏览量 更新于2024-09-18 收藏 65KB DOC 举报
"SQL语句查询练习,适合Oracle新手提升技能" 在数据库管理和数据分析领域,SQL(Structured Query Language)是不可或缺的语言,用于管理和处理关系型数据库。以下是对给定文件中涉及的SQL查询知识点的详细解释: 1. **子查询与比较**: 在问题1中,使用了两个子查询分别获取"001"和"002"课程的成绩,然后通过`WHERE`子句进行比较。这种查询方式可以找出在"001"课程中分数高于"002"课程的所有学生。 2. **聚合函数与分组**: 问题2利用`AVG()`函数计算平均成绩,并结合`GROUP BY`子句按学生学号分组,再用`HAVING`子句筛选出平均成绩大于60的学生。 3. **连接查询与统计**: 问题3展示了一个左外连接查询,连接`Student`和`SC`表,计算每个学生的选课数(`COUNT(SC.C#)`)和总成绩(`SUM(score)`),并显示学号和姓名。 4. **LIKE操作符与计数**: 问题4使用`LIKE`操作符匹配姓"李"的老师,并通过`COUNT(DISTINCT Tname)`统计不重复的教师数量。 5. **子查询与NOT IN**: 问题5使用子查询和`NOT IN`操作符找出没有学过"叶平"老师课程的学生,避免了多重循环或自连接的复杂性。 6. **AND操作符与EXISTS子句**: 问题6通过`AND`操作符和`EXISTS`子句找出同时学过"001"和"002"课程的学生,`EXISTS`用于检查子查询返回的记录是否存在。 7. **多表连接与ALL关键字**: 问题7可能需要查询所有学过"叶平"老师所教的课程的学生,这通常需要一个自连接,将`Course`表和`Teacher`表连接,然后与`SC`表进行连接,确保学生学过的所有课程都包含在"叶平"老师的课程中。 这些SQL查询技巧展示了SQL在数据查询中的强大功能,包括子查询、聚合函数、连接查询、条件过滤、统计计算以及对字符串和集合的处理。熟练掌握这些技巧,对于数据库管理、数据分析以及任何与数据打交道的工作都是非常重要的。