`
wang_xudong
  • 浏览: 34233 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle中Having子句的意思

阅读更多
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组合在一起;
分享到:
评论
3 楼 wang_xudong 2013-10-03  
你去试试不就知道了~~~
2 楼 hollboy 2013-07-10  
total=sum(ytd_sales)可以通过oracle语法检查?? 刚才打错了!
1 楼 hollboy 2013-07-10  
select pub_id,total=sum(ytd_sales)
from titles
GROUP BY pub_id
HAVING SUM(ytd_sales)>40000


total=sum(ytd_sales)可以通过oracle语音检查??

相关推荐

    oracle中where 子句和having子句中的区别介绍

    主要介绍了在oracle中where 子句和having子句中的区别,本文通过sql语句给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    sql/having用法

    在Oracle中having子句对group by子句所确定的行组进行控制,having子句条件中只允许涉及常量,聚组函数或group by 子句中的列。

    Oracle中分组查询group by用法规则详解

    group by 子句可以将查询结果分组,并返回行的汇总信息Oracle 按照group by 子句中指定的表达式的值分组查询结果。 在带有group by 子句的查询语句中,在select 列表中指定的列要么是group by 子句中指定的列,要么...

    Oracle SQL高级编程

    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 ...

    group by,having,order by的用法详解

    该条语句的意义为:按工作分组查出每一项工作的平均薪水二,having 子句 oracle 规定where子句不可以使用分组函数,这时我们必须使用having子句方可完成功能。 select job,avg(sal) from emp having avg(sal)>1500 ...

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    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...

    Oracle数据库Sql语句详解大全

    使用HAVING子句对分组后的数据进行过滤 第六章 子查询 第七章 数据建模及数据库设计 了解系统开发的步骤 数据关系的定义 理解实体关系映射图(E-R图) 第八章 创建表 掌握创建表的语法 Oracle的数据类型 使用约束...

    Oracle11g从入门到精通2

    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语句 ...

    oracle的sql优化

     Distinct和Having子句都是耗时操作,应该尽可能少使用  在不需要考虑重复记录合并时候用Union All来代替Union  使用显性游标而不使用隐性游标,特别是大数据量情况下隐性游标对性能影响很大  是否使用函数的...

    Oracle Database 11g 标准课程第六章 子查询与

    Oracle Database 11g 标准课程第六章 子查询与集合操作Having子句中的子查询

    Oracle高手必读,不要错过噢

    删除表的注意事项、having 子句的用法 、外部联接"+"的用法 、set transaction 命令的用法。。。。。。

    Oracle数据库Sql性能调优

    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 ...

    oracle sql performance tuning

    3.9 合理排列WHERE子句中的连接顺序. 9 3.10 用WHERE子句替换HAVING子句 9 3.11 关于使用索引(INDEX)的一些注意点 10 3.11.1 ‘!=’,NOT操作将不使用索引. 10 3.11.2 ‘||’是字符连接函数. 就象其它函数那样, ...

    Oracle Database 11g 标准课程第四章 聚合函数

    Oracle Database 11g 标准课程第四章 聚合函数与分组查询HAVING子句

    Oracle Database 11g初学者指南--详细书签版

    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 字符串函数 ...

    Oracle数据库、SQL

    十、 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 十二...

    SQL 中having 和where的区别分析

    groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。 在带有groupby子句的查询语句中,在select列表中指定的列要么是groupby子句中指定的列,要么包含聚组...

Global site tag (gtag.js) - Google Analytics