SQL HAVING短语详解:筛选分组并理解与WHERE的区别

需积分: 0 0 下载量 64 浏览量 更新于2024-08-23 收藏 1.78MB PPT 举报
在关系数据库标准语言SQL中,HAVING短语是一个关键概念,用于在分组查询后筛选满足特定条件的组。HAVING短语的作用对象是已经按照某个字段分组后的结果集,它不同于WHERE子句,WHERE通常用于在数据表或视图的基础层面上筛选行。例如,【例3.33】展示了如何使用HAVING来找出被购买次数达到3次以上的商品,通过计算每个商品的购买记录数量并仅返回那些数量大于等于3的商品及其对应的销售数量的最大值和最小值。 SQL(Structured Query Language),起源于1974年的IBM圣约瑟实验室,由Boyce和Chamberlin设计,最初称为SEQUEL,后来简化为SQL。这个语言最初在System R上实现,并在1986年由ANSI和ISO分别批准为关系数据库语言的标准。SQL的发展历经多个版本,如SQL/86、SQL/89、SQL/92(引入更多增强特性)、SQL/99(引入抽象数据类型)和SQL/2003及后续版本,增加了对XML和嵌入式SQL的支持。 SQL的主要特点是它的通用性和统一性,作为数据库操作的标准语言,它涵盖了数据定义(DDL)、数据操纵(DML)和数据控制(DCL)等多个方面,提供交互式和嵌入式两种使用方式。交互式SQL允许用户直接在数据库管理系统中输入命令,而嵌入式SQL则允许将SQL语句嵌入到高级编程语言中,以利用数据库的功能增强应用程序。 在处理分组查询时,理解HAVING短语和WHERE子句的区别至关重要。WHERE用于在未分组的数据中筛选,而HAVING用于对分组后的数据进行过滤。例如,如果想根据某字段的聚合函数(如COUNT、SUM、AVG等)结果来筛选,只能使用HAVING,因为WHERE不适合处理这些集函数。 HAVING短语是SQL中执行分组查询后筛选的重要工具,掌握其使用规则对于有效管理关系数据库并提取有用信息至关重要。同时,了解SQL的历史发展和特点,有助于更好地理解和运用这一强大的数据库操作语言。