2016.9.9《Oracle查询优化改写技巧与案例》电子工业出版社一书中的技巧
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查询优化改写技巧与案例》电子工业出版社一书中的技巧的更多相关文章
- 《Oracle查询优化改写技巧与案例》学习笔记-------使用数字篇
一个系列的读书笔记,读的书是有教无类和落落两位老师编写的<Oracle查询优化改写技巧与案例>. 用这个系列的读书笔记来督促自己学习Oracle,同时,对于其中一些内容,希望大家看到以后, ...
- 【书评:Oracle查询优化改写】第四章
[书评:Oracle查询优化改写]第四章 BLOG文档结构图 一.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① check的 ...
- oracle 查询优化改写
-----------书籍: oracle 查询优化改写-----------第1个“C###oracle”为登录数据库的用户名,第2个“oracleChange”为登录数据库的密码“oracleCh ...
- 【书评:Oracle查询优化改写】第14章 结尾章
[书评:Oracle查询优化改写]第14章 结尾章 一.1 相关参考文章链接 前13章的链接参考相关连接: [书评:Oracle查询优化改写]第一章 http://blog.itpub.net/26 ...
- 【书评:Oracle查询优化改写】第五至十三章
[书评:Oracle查询优化改写]第五至十三章 一.1 BLOG文档结构图 一.2 前言部分 一.2.1 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知 ...
- 【书评:Oracle查询优化改写】第三章
[书评:Oracle查询优化改写]第三章 BLOG文档结构图 导读 各位技术爱好者,看完本文后,你可以掌握如下的技能,也可以学到一些其它你所不知道的知识,~O(∩_∩)O~: ① 隐含参数 ...
- 【书评:Oracle查询优化改写】第二章
[书评:Oracle查询优化改写]第二章 BLOG文档结构图 在上一篇中http://blog.itpub.net/26736162/viewspace-1652985/,我们主要分析了一些单表查询的 ...
- 《 Oracle查询优化改写 技巧与案例 》电子工业出版社
第1章单表查询 11.1 查询表中所有的行与列 11.2 从表中检索部分行 21.3 查找空值 31.4 将空值转换为实际值 41.5 查找满足多个条件的行 51.6 从表中检索部分列 61.7 为列 ...
- Oracle查询优化改写--------------------报表和数据仓库运算
一.行转列 二.列传行 '
随机推荐
- How to use Jenkins
一.关键点 1.how to start the build server? do i need to start some app to do this? I don't believe so... ...
- ggplot笔记002——qplot()函数
qplot()函数 一年前就听说过ggplot,很多人都说ggplot强大,ggplot无所不能,从今天开始就让我们一起来见证一下这个神奇的R包. 首先要加载ggplot2: 1 if(!suppre ...
- 在eclipse中使用Github进行单元测试
时间分配是找资料60%,动手实践40%.因为之前一直没怎么好好学习,导致看到使用Gunit进行单元测试的时候感觉像是看到了一行符号一样不知所措,还好现在搜索引擎很强大,找资料学习中间有找到一个现成的傻 ...
- QT QFtp使用实例 从FTP下载一个文件
1. ftp://ftp.denx.de/pub/u-boot/lowboot-1.0.0.patch.gz 下载文件 FtpGet.h #ifndef FTPGET_H #define FTPGE ...
- Spring初学之xml实现AOP前置通知、后置通知、返回通知、异常通知等
实现两个整数的加减乘除,在每个方法执行前后打印日志. ArithmeticCalculator.java: package spring.aop.impl.xml; public interface ...
- numpy里*与dot与multiply
一.* , dot() multiply() 1, 对于array来说,(* 和 dot()运算不同, * 和 multiply()运算相同) *和multiply() 是每个元素对应相乘 do ...
- Linux01
Linux的特点 1.免费的/开源 2.支持多线程./多用户的(这是操作系统性能的重要指标) 3.安全性好 4.对内存和文件管理优越. 1999年,IBM宣布与Redhat公司建立伙伴关系. Linu ...
- html5学习笔记(audio)
来源于<HTML5高级程序设计> audio api <audio controls> controls告诉浏览器显示播放控件 不指定 type 浏览器自解 oggMP3 ty ...
- 1、C#中Hashtable、Dictionary详解以及写入和读取对比
在本文中将从基础角度讲解HashTable.Dictionary的构造和通过程序进行插入读取对比. 一:HashTable 1.HashTable是一种散列表,他内部维护很多对Key-Value键值对 ...
- android中shape的属性
<shape> <!– 实心 –> <solid android:color=”#ff9d77″/> <!– 渐变 –> <gradient an ...