SQL查询实战:从基础到进阶
4星 · 超过85%的资源 需积分: 9 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在数据查询中的强大功能,包括子查询、聚合函数、连接查询、条件过滤、统计计算以及对字符串和集合的处理。熟练掌握这些技巧,对于数据库管理、数据分析以及任何与数据打交道的工作都是非常重要的。
2023-07-07 上传
2009-03-27 上传
2013-08-29 上传
2020-01-02 上传
2018-03-20 上传
wwsq2
- 粉丝: 2
- 资源: 6