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

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

  1. 《Oracle查询优化改写技巧与案例》学习笔记-------使用数字篇

    一个系列的读书笔记,读的书是有教无类和落落两位老师编写的<Oracle查询优化改写技巧与案例>. 用这个系列的读书笔记来督促自己学习Oracle,同时,对于其中一些内容,希望大家看到以后, ...

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

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

  3. oracle 查询优化改写

    -----------书籍: oracle 查询优化改写-----------第1个“C###oracle”为登录数据库的用户名,第2个“oracleChange”为登录数据库的密码“oracleCh ...

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

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

  5. 【书评:Oracle查询优化改写】第五至十三章

    [书评:Oracle查询优化改写]第五至十三章 一.1  BLOG文档结构图 一.2  前言部分 一.2.1  导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知 ...

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

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

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

    [书评:Oracle查询优化改写]第二章 BLOG文档结构图 在上一篇中http://blog.itpub.net/26736162/viewspace-1652985/,我们主要分析了一些单表查询的 ...

  8. 《 Oracle查询优化改写 技巧与案例 》电子工业出版社

    第1章单表查询 11.1 查询表中所有的行与列 11.2 从表中检索部分行 21.3 查找空值 31.4 将空值转换为实际值 41.5 查找满足多个条件的行 51.6 从表中检索部分列 61.7 为列 ...

  9. Oracle查询优化改写--------------------报表和数据仓库运算

    一.行转列 二.列传行 '

随机推荐

  1. Solr 报错:java.lang.NoClassDefFoundError: org/apache/http/entity/mime/content/ContentBody

    HBase协处理器中使用Solr时报错,如下 2018-07-11 17:06:14,054 INFO [LruBlockCacheStatsExecutor] hfile.LruBlockCache ...

  2. 让外界可以访问电脑上的网站的几种方式——花生壳,域名,IIS(待)

    前话: 每次“养大“一个网站,都有种骄傲地想秀给朋友们看的冲动. 之前可能是困于电脑,实在不方便. 现在,不用克制了! 该秀就秀,能装逼就装逼. 养大孩子就该拉出来秀秀,见见世面. 正题:这次实习,我 ...

  3. elasticsearch中filter执行原理深度剖析(bitset机制与caching机制)

    (1)在倒排索引中查找搜索串,获取document list date来举例 word doc1 doc2 doc3 2017-01-01 * *2017-02-02  *   *2017-03-03 ...

  4. MySql 创建/删除数据库

    C:\Users\Mr.Black>mysql -u root -pEnter password: ****Welcome to the MySQL monitor.  Commands end ...

  5. Linux软件安装常用方法

    1.软件安装卸载,分几种情况: A:RPM包,这种软件包就像windows的EXE安装文件一样,各种文件已经编译好,并打了包,哪个文件该放到哪个文件夹,都指定好了,安装非常方便,在图形界面里你只需要双 ...

  6. SQL Server集成服务最佳实践:语句优化

        SQL Server集成服务(SQL Server Integration Services,SSIS)在其前辈DTS(Data Transformation Services,数据转换服务) ...

  7. 清北学堂(2019 5 1) part 4

    今天讲数论 1.进制问题(将n转换成k进制数): 1.方法:短除法 将n/k,保存,将商当做新的n,将余数保存,直到商为0,将余数(包括0),倒序输出,即得n的k进制数 2.关于高精四则运算(我本以为 ...

  8. python后端面试题

    1. 果壳 电话面试: 说一下TCP的三次握手,四次挥手,为什么会这样? http安全的性的了解,说一下对cookie和session的了解: 对mysql的了解,说一下你常用的数据类型,char和v ...

  9. MySQL 分区知识点(一 )

    前言: 查了下资料,关于 MySQL 分区的博文讲的详细的比较少,也不全,只好在官网去翻译英文文章看了.大体整理了一下记录起来: MySQL 分区类型: 1.RANGE 分区: // 这种类型的分区基 ...

  10. 交换排序—冒泡排序(Bubble Sort)算法原理以及Java实现

    基本思想: 在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒.即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将 ...