SQL查询实践:课程平均分与复杂条件筛选

需积分: 37 5 下载量 57 浏览量 更新于2024-07-12 收藏 261KB PPT 举报
"本资源是关于数据库查询语言(DML)的练习,主要涉及SQL语句的使用,包括查询特定课程的平均分、满足特定条件的课程平均分、特定分数范围内的学号以及多条件组合查询等实际操作。" 在这个练习中,我们看到一些基本的SQL查询语句用于处理数据库中的数据。以下是每个练习的具体知识点: 1. 查询语句`Select avg(degree) as 课程平均分 from score where cno=‘3-105’`用于计算课程编号为“3-105”的课程平均分。`AVG()`函数用于求平均值,`WHERE`子句用来过滤满足特定条件的行。 2. 查询语句`Select cno,avg(degree) from score where cno like ‘3%’ Group by cno having count(*) >=5;`展示了如何找出以“3”开头并且至少有5名学生选修的课程的平均分。`LIKE`关键字用于模糊匹配,`GROUP BY`用于按课程编号分组,`HAVING`则在分组后进行条件过滤。 3. `Select sno from score group by sno Having min(degree)>70 and max(degree)<90;`此查询返回最低分大于70且最高分小于90的学生学号。`GROUP BY`在这里用于按学生学号分组,`MIN()`和`MAX()`函数分别获取每组的最小和最大分数,`HAVING`则在分组后进行条件判断。 4. `select sname,cno,degree from score,student where student.sno=score.sno;`这个查询语句演示了如何通过`JOIN`操作连接两个表(`score`和`student`),获取所有学生的姓名、课程编号和成绩。`WHERE`子句用于指定连接条件,即学生表中的学号与成绩表中的学号相等。 在提供的示例数据中,我们看到学生信息、老师信息、课程信息和成绩信息四个表格。这些表格包含了学生的姓名、性别、班级等信息,老师的姓名、性别、专业和部门,课程的编号、名称和授课老师,以及学号、课程号和成绩的详细数据。这些表格可以用于创建更复杂的查询,如查询特定班级的学生信息,查找特定老师教授的课程,或者分析不同课程的成绩分布等。 这个练习旨在帮助用户熟悉SQL语句,特别是DML(数据操纵语言)部分,包括选择、聚合、分组和连接操作。通过解决这些问题,用户可以提高对数据库管理和数据分析的理解,这对于任何涉及数据库工作的IT专业人士来说都是至关重要的技能。