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查询优化改写--------------------报表和数据仓库运算
一.行转列 二.列传行 '
随机推荐
- 关于接口自动化的那些事 - 基于 Python
网络请求模拟小技巧 在学习了一段时间的Python语言后,咱也大概对Python的语法和逻辑有了一定的积累,接下来,可以为接口自动化测试开始尝试做一些比较简单的准备工作啦~跟着我一起来来来~ 扩展库r ...
- linux防火墙开关
对于普通Linux机器开关防火墙命令: 1重启后生效 chkconfig iptables off chkconfig iptables on 2即时生效 serivce iptables statu ...
- R语言:导入导出数据
主要学习如何把几种常用的数据格式导入到R中进行处理,并简单介绍如何把R中的数据保存为R数据格式和csv文件. 1.保存和加载R的数据(与R.data的交互:save()函数和load()函数) a & ...
- hdu6242 计算几何
题意:给你n个点,要求找到一个点,和一个圆心,使得有n/2向上取整个点在圆上,一定有满足条件的点存在 题解:既然一定有解,而且圆上有n/2向上取整个点,那么我们可以通过随机来找三个点来确定一个圆心,和 ...
- GIT 应用gitreview方式提交代码过程
t status -- 是不是修改的文件 git diff (文件名) -- 看文件修改位置 git add (文件名的空格串) git commit -- 提交到本地 git stash -- 暂存 ...
- CC++中sizeof函数的用法
C/C++中sizeof()函数的用法 学习C/C++有时会遇到下面的情况: 已知 char *str1="absde"; char str2[]="absde" ...
- 分布式_理论_05_ 一致性算法 Paxos
一.前言 二.参考资料 1.分布式理论(五)—— 一致性算法 Paxos 2.分布式理论(五) - 一致性算法Paxos
- hive_学习_01_hive环境搭建(单机)
一.前言 本文承接上一篇:hbase_学习_01_HBase环境搭建(单机),主要是搭建 hive 的单机环境 二.环境准备 1.说明 hive 的下载来源有: 官方版本:http://archive ...
- Codeforces Round #246 (Div. 2) C. Prime Swaps(贪心,数论)
题目链接:http://codeforces.com/contest/432/problem/C 首先由题意分析出:这些数是从1到n且各不相同,所以最后结果肯定是第i位的数就是i. 采用这样一种贪心策 ...
- Django 登录页面重定向
转自:http://blog.chedushi.com/archives/3484 登陆和注销操作在网页编程上很常见,这两个操作经常需要在操作成功以后转入发出请求的页面. 比如用户正在浏览一篇文章,发 ...