SQL分组查询详解与示例

需积分: 0 0 下载量 24 浏览量 更新于2024-08-15 收藏 849KB PPT 举报
"分组查询-SQL经典语句" 在SQL(Structured Query Language)中,分组查询是一种重要的数据处理方式,它允许我们根据一个或多个列的值将数据集进行划分,以便对每个分组应用聚合函数,如COUNT、SUM、AVG、MAX和MIN。在SQL中,GROUP BY子句就是用来执行这种分组操作的关键。 【例25】展示了如何使用GROUP BY子句来查询每位教师的教师号以及他们所教授的课程数量。在这个例子中,`SELECT 教师号, COUNT(*) AS 任课门数;` 选择了教师号这一列,并计算每组的行数,这通过COUNT(*)函数完成,它返回每个分组中的记录数。接着,`FROM 授课;`指定了数据来源是"授课"表。最后,`GROUP BY 教师号;` 按照教师号进行分组,确保每个教师的所有授课记录被聚合在一起。这样,对于每一个不同的教师号,查询结果都会显示一个行,该行包含教师号和该教师的任课门数。 如果在分组后还需要进一步筛选满足特定条件的组,可以使用HAVING子句。HAVING子句与WHERE子句类似,但WHERE是在数据分组前进行条件过滤,而HAVING是在数据分组后进行条件筛选,因为它可以与聚合函数一起使用。 SQL语言分为四个主要部分:数据定义(DDL)、数据查询(DQL)、数据操纵(DML)和数据控制(DCL)。DDL用于创建、修改和删除数据库对象,如表、视图和索引。DQL是SQL的核心,它负责从数据库中检索数据。DML包括INSERT、UPDATE和DELETE命令,用于添加、修改和删除数据。DCL则用于控制用户对数据库的访问权限,如GRANT和REVOKE命令。 SQL的这些功能和命令共同构成了一个强大的工具,使得数据管理、分析和报告变得更加高效和便捷。无论是简单的数据查询还是复杂的多表联接和分组聚合,SQL都能提供相应的解决方案。在实际工作中,熟练掌握SQL语言的使用,对于数据库管理和数据分析人员来说至关重要。