HAVING 子句对GROUP BY 子句设置条件的方式与WHERE子句和SELECT语句交互的方式类似,WHERE子句搜索条件在进行分组操作之前应用;而HAVING搜索条件在进行分组操作之后应用,HAVING语法与WHERE语法类似,但HAVING可以包含聚合函数,HAVING子句可以应用选择列表中出现的任意项。
(1)下面的查询得到本年度截止到目前的销售额超过¥40,000的出版商:
Use pubs
select pub_id,total=sum(ytd_sales)
from titles
GROUP BY pub_id
HAVING SUM(ytd_sales)>40000
(2)
理解应用WHERE ,GROUP BY 和HAVING子句的正确序列对编写高效的查询代码会有所帮助:
where子句用来筛选From子句中指定的操作所产生的行,
gorup by 子句用来分组WHREE子句的输出;
HAVING子句用来从分组的结果中筛选行。
对于可以在分组操作之前或之后应用的搜索条件,在WHERE子句中指定他们更有效,这样可以减少必须分组的行数,应当在HAVING子句中指定的搜索条件只是那些必须在执行分组操作之后应用的搜索条件
(3)
如果HAVING中包含多个条件,那么这些条件将通过AND,OR或NOT组合在一起;
分享到:
相关推荐
主要介绍了在oracle中where 子句和having子句中的区别,本文通过sql语句给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
在Oracle中having子句对group by子句所确定的行组进行控制,having子句条件中只允许涉及常量,聚组函数或group by 子句中的列。
group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。 在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么...
1.5.4 HAVING子句 12 1.5.5 SELECT列表 12 1.5.6 ORDERBY子句 13 1.6 INSERT语句 14 1.6.1 单表插入 14 1.6.2 多表插入 15 1.7 UPDATE语句 17 1.8 DELETE语句 20 1.9 MERGE语句 22 1.10 小结 24 第2章 SQL执行 25 ...
该条语句的意义为:按工作分组查出每一项工作的平均薪水二,having 子句 oracle 规定where子句不可以使用分组函数,这时我们必须使用having子句方可完成功能。 select job,avg(sal) from emp having avg(sal)>1500 ...
1.5.4 HAVING子句 12 1.5.5 SELECT列表 12 1.5.6 ORDERBY子句 13 1.6 INSERT语句 14 1.6.1 单表插入 14 1.6.2 多表插入 15 1.7 UPDATE语句 17 1.8 DELETE语句 20 1.9 MERGE语句 22 1.10 小结 24 第2章 SQL...
使用HAVING子句对分组后的数据进行过滤 第六章 子查询 第七章 数据建模及数据库设计 了解系统开发的步骤 数据关系的定义 理解实体关系映射图(E-R图) 第八章 创建表 掌握创建表的语法 Oracle的数据类型 使用约束...
3.3.5 HAVING子句 3.3.6 多表连接查询 3.3.7 集合操作 3.3.8 子查询 3.4 数据操纵 3.4.1 INSERT语句 3.4.2 UPDATE语句 3.4.3 DELETE语句 3.4.4 TRLINCATE语句 3.5 数据控制 3.5.1 GRANT语句 ...
Distinct和Having子句都是耗时操作,应该尽可能少使用 在不需要考虑重复记录合并时候用Union All来代替Union 使用显性游标而不使用隐性游标,特别是大数据量情况下隐性游标对性能影响很大 是否使用函数的...
Oracle Database 11g 标准课程第六章 子查询与集合操作Having子句中的子查询
删除表的注意事项、having 子句的用法 、外部联接"+"的用法 、set transaction 命令的用法。。。。。。
1.15 用WHERE子句替换HAVING子句 9 1.16 减少对表的查询 10 1.17 通过内部函数提高SQL效率 10 1.18 使用表的别名(ALIAS) 11 1.19 用EXISTS替代IN 12 1.20 用NOT EXISTS替代NOT IN 12 1.21 用表连接替换EXISTS 13 ...
3.9 合理排列WHERE子句中的连接顺序. 9 3.10 用WHERE子句替换HAVING子句 9 3.11 关于使用索引(INDEX)的一些注意点 10 3.11.1 ‘!=’,NOT操作将不使用索引. 10 3.11.2 ‘||’是字符连接函数. 就象其它函数那样, ...
Oracle Database 11g 标准课程第四章 聚合函数与分组查询HAVING子句
4.3.6 where子句中的常用操作符 86 4.4 基本的update和delete语句 87 4.4.1 update语句 87 4.4.2 delete语句 88 4.5 数据排序 90 4.6 函数:字符串函数、数字函数和聚集函数(不是分组) 91 4.6.1 字符串函数 ...
十、 having子句 18 10.1语法和执行顺序 18 10.2执行过程 18 10.3 where和having区别 18 十一、 非关联子查询 19 11.1语法 19 11.2子查询的执行过程 19 11.3常见错误 19 11.4子查询与空值 19 11.5多列子查询 20 十二...
groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。 在带有groupby子句的查询语句中,在select列表中指定的列要么是groupby子句中指定的列,要么包含聚组...