理解SQL中的HAVING短语:筛选分组结果

需积分: 45 1 下载量 39 浏览量 更新于2024-08-15 收藏 2MB PPT 举报
"这篇课件主要讲解了在Oracle数据库中使用HAVING短语进行结果集筛选的基本概念和区别。HAVING短语常用于聚合函数的结果过滤,与WHERE子句的作用对象不同。WHERE子句在数据分组前进行过滤,而HAVING子句则在GROUP BY后对分组后的结果进行过滤。课件还涵盖了SQL语言的概述、发展历史、组成部分以及特点。SQL由数据查询、数据操纵、数据定义和数据控制四部分组成,提供了一种综合且高度非过程化的数据操作方式,具有统一的语法结构,并包含SELECT、CREATE、INSERT、UPDATE、DELETE、GRANT和REVOKE等核心动词。" 在Oracle数据库中,HAVING短语是SQL查询语句中的一个重要组成部分,它允许我们在聚合函数(如SUM、AVG、COUNT等)应用之后对分组结果进行条件筛选。这与WHERE子句的主要区别在于,WHERE子句在数据被分组之前就执行过滤操作,只能用于原始记录级别的条件检查。而HAVING子句则在数据已经按照GROUP BY子句分组后,对每个分组的结果进行过滤,因此它可以与聚合函数一起使用。 SQL语言的产生和发展始于1972年的IBM'SYSTEMR项目,随后演变为SQL,并成为ANSI和ISO的标准。SQL语言包含了四大主要部分:数据查询(如SELECT语句),数据操纵(如INSERT、UPDATE、DELETE),数据定义(如CREATE、DROP,用于创建和删除数据库对象),以及数据控制(如权限管理,事务控制)。 SQL的特点包括其综合统一的特性,用户只需关注业务逻辑,无需关心底层实现细节;高度非过程化,简化了编程工作;统一的语法结构,使得无论是交互式使用还是嵌入到其他高级语言中,SQL都能保持一致的语法;以及其简洁明了的动词系统,如SELECT用于查询,CREATE和DROP用于定义和删除,INSERT、UPDATE、DELETE用于数据操纵,GRANT和REVOKE用于权限控制。 通过这个课件,学习者将能够理解HAVING短语在SQL查询中的重要性,以及如何结合GROUP BY和HAVING来处理复杂的分组查询,同时也会对SQL语言有更全面的认识,包括其历史、结构和核心功能。