1、coalesce (c1,c2,c3,c4,...) 类似于nvl但可以从多个表达式中返回第一个不是null的值

2、要在where条件中引用列的别名,可以再嵌套一层查询

select * from ( select salary gz from person) where gz>100

3、like()函数的通配符除了%号外,还有_代表一个字符,若要在like里表达_符号需转义:

like('\_BCD') escape '\' escape 用来定义转义符,此时可以写'\\'代表真正的'\'符号

4、order by 1或2等数字 表示按第几列排序 (count(1)是不是也类似?)

5、substr(aa,-3)表示取倒数后3位,但不适用于指定起始位置,例如不能用substr(aa,3,-2)

6、排序时控制空值记录排在前或在后: order by xx nulls first(nulls last)

7、with.. as... 创建只在语句执行时存在的临时视图

with e as (select ad_hp_id id, code_id code , txt_name name from ad_hp where code_id like 'ZB%')

select id,code, name from e

8、left join的where、order 语句可写在on语句之后

9、内连接相当于直接where两表字段相等,只有两表都匹配的数据才出现

全连接两张表所有记录都出现,不匹配的项显示为null

左右连接可以像正常两表用where关联方式写,只不过在右表条件前加上(+):

select a.code_id,b.* from ad_hp a, bureau b

where a.code_id LIKE 'ZB%'

and a.txt_name_admin = b.bureau_code(+)

ORDER BY a.code_id

10、11g以后增加了统计字符串中的某字符数的函数regexp_count('ababcabcd','a') ,结果=3

11、按某列排序后,取它最大或最小值对应的其它列 max(col1) keep(dense_rank first或last order by col2)

如果要在分组内部统计,可用 over(partition by col3)。也可用group by 分组

select max(code_id) keep(dense_rank first order by geo_lat) from ad_hp t where code_id like 'ZB%'

12、在树型数据结构中,列举某一节点所有后代节点(第12章)

select empno as 员工编码, ename as 姓名,mgr as 主管编码,(prior ename) as 主管姓名,sys_connect_by_path(ename,',') as 路径

from scott.emp

start with empno=7566

connect by (prior empno)=mgr

转载于:https://www.cnblogs.com/mol1995/p/5965023.html

2016.9.9《Oracle查询优化改写技巧与案例》电子工业出版社一书中的技巧相关推荐

  1. 【书评:Oracle查询优化改写】第四章

    [书评:Oracle查询优化改写]第四章 [书评:Oracle查询优化改写]第四章 BLOG文档结构图 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O ...

  2. 【书评:Oracle查询优化改写】第14章 结尾章

    [书评:Oracle查询优化改写]第14章 结尾章 一.1  相关参考文章链接 前13章的链接参考相关连接: [书评:Oracle查询优化改写]第一章 http://blog.itpub.net/26 ...

  3. 只是简单读了读《oracle查询优化改写》,就让我获益匪浅,想写好sql,这一本书就够了!

    目录 写在前面 基础知识 空值 返回前几行 获取随机数 like 排序 union 分页(6-10条) 表关联 复制表 日期 日期加减 trunc对于日期的用法 获取时间 判断是否是闰年(只需要判断二 ...

  4. 【书评:Oracle查询优化改写】第三章

    [书评:Oracle查询优化改写]第三章 BLOG文档结构图 一.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 隐含参数 _ ...

  5. oracle书评,【书评:Oracle查询优化改写】第二章

    BLOG文档结构图 在上一篇中http://blog.itpub.net/26736162/viewspace-1652985/,我们主要分析了一些单表查询的时候需要注意的内容,今天第二章也很简单,主 ...

  6. Oracle查询优化改写2.0 第二章:给查询结果排序

    ------chapter2给查询结果排序 --2.1以指定的次序返回查询结果  order by xxx asc/desc select empno,ename,hiredate from emp ...

  7. oracle is null效率,Oracle查询优化之is null和is not null优化

    最近工作的时候遇到了比较大的数据查询,自己的sql在数据量小的时候没问题,在数据量达到300W的时候特别慢,只有自己优化sql了,以前没有优化过,所以记录下来自己的优化过程,本次是关于is null和 ...

  8. 12c oracle 激活_Windows运维之Windows server 2016 安装及ORACLE 12C 安装

    本文主要向大家介绍了Windows运维之Windows server 2016 安装及ORACLE 12C 安装,通过具体的内容向大家展现,希望对大家学习Windows运维有所帮助. 首先创建虚拟机, ...

  9. 2016年度中国Oracle数据库使用现状分析报告

    云和恩墨旗下智能诊断平台Bethune今日发布了[2016年度中国Oracle数据库使用现状分析报告],该报告采样2016年度国内18个大行业.485位用户(个人/企业)的1841套Oracle数据库 ...

最新文章

  1. 20165219王彦博《基于Cortex-M4的虚拟机制作与测试》课程设计个人报告
  2. JavaScript实现阶乘递归factorialRecursive算法(附完整源码)
  3. mysql iostat_通过『iostat -dx 1』命令监控IO性能
  4. innodb_flush_log_at_trx_commit配置
  5. Altiris™ IT Management Suite 7 Release Notes
  6. 使用Mule ESB与Groovy编排RESTful服务【转】很适合我们当前的架构
  7. 程序员谨防加班猝死之十大建议
  8. Cycle-2(循环)
  9. 如何在maven repository手动下载jar包
  10. 今天懒一次 豆瓣电影Top250
  11. MongoDb学习(五)--Gridfs--上传下载
  12. 史上最全编程语言列表,你掌握了哪些?
  13. 手撕:经典问题的遗传算法代码
  14. 短信系统实现原理(基于redis)
  15. 搭载三款动力 宝马丰田将联手推全新跑车
  16. 超详细CloudCone使用指南
  17. 如何查找IBM P5、6的HMC管理地址
  18. 如何在JavaScript中循环遍历JSON响应
  19. vue 通过接口实现前端登录页验证码功能
  20. 下载网页视频并自动转码为mp4

热门文章

  1. 线程: ReentrantLock类
  2. matlab练习程序(简单图像融合)
  3. pip3 install face_recognition
  4. 腾讯云VS AWS :云存储网关性能谁更优?
  5. gulp前端自动化相关文章收集
  6. Activity的跳转及返回值,activity的生命周期
  7. RHEL/CentOS 下安装yum源地址汇集---不定期更新
  8. ASP.NET中AJAX的UpdatePannel控件的用法
  9. 恶意软件、Rootkit和僵尸网络
  10. 一个棒棒糖引发的。。。