Oracle高级查询
1. 树查询
id number(10) not null primary key,
name varchar2(100) not null,
super number(10) not null // 0 is root
);
-- 从子到父
select * from tree start with id = ? connect by id = prior super
-- 从父到子
select * from tree start with id = ? connect by prior id = suepr
-- 整棵树
select * from tree start with super = 0 connect by prior id = suepr
2. 分页查询
select my_table.*, rownum my_rownum from (
select name, birthday from employee order by birthday
) my_table where rownum < 120
) where my_rownum >= 100;
3. 累加查询, 以scott.emp为例
EMPNO ENAME SAL RESULT
---------- ---------- ---------- ----------
7369 SMITH 800 800
7499 ALLEN 1600 2400
7521 WARD 1250 3650
7566 JONES 2975 6625
7654 MARTIN 1250 7875
7698 BLAKE 2850 10725
7782 CLARK 2450 13175
7788 SCOTT 3000 16175
7839 KING 5000 21175
7844 TURNER 1500 22675
7876 ADAMS 1100 23775
7900 JAMES 950 24725
7902 FORD 3000 27725
7934 MILLER 1300 29025
4. 高级group by
decode(grouping(job),1,'all job',job) job,
sum(sal) sal
from emp
group by ROLLUP(deptno,job);
DEPTNO JOB SAL
---------------------------------------- --------- ----------
10 CLERK 1300
10 MANAGER 2450
10 PRESIDENT 5000
10 all job 8750
20 CLERK 1900
20 ANALYST 6000
20 MANAGER 2975
20 all job 10875
30 CLERK 950
30 MANAGER 2850
30 SALESMAN 5600
30 all job 9400
all deptno all job 29025
5. use hint
当多表连接很慢时,用ORDERED提示试试,也许会快很多
FROM a, b, c, d
WHERE
转载于:https://www.cnblogs.com/lancelang/archive/2007/10/30/942920.html
Oracle高级查询相关推荐
- oracle高级查询案例,oracle高级查询(实例基于scott用户四张表)
oracle高级查询(实例基于scott用户四张表) 分组查询 多表查询 子查询 综合实例 ====================================================== ...
- Oracle高级查询之over(partition by...) 分组排序
Oracle高级查询之over(partition by...) 分组排序 一.rank()/dense_rank() over(partition by ...order by ...) 现在客户有 ...
- oracle—高级查询
Sql基础 数据库语言 数据操纵语言:DML (data manipulation language) select insert update delete merge 数据定义语言:DDL(dat ...
- oracle高级查询用法
2019独角兽企业重金招聘Python工程师标准>>> 层次化查询 有下图这样一张表,它记录的是员工的一些信息,m_id该员工的上级的id,例如James就是Ron的上级: 那么我们 ...
- Oracle高级查询,over 用法
注:标题中的红色order by是说明在使用该方法的时候必须要带上order by. 一.rank()/dense_rank() over(partition by ...order by ...) ...
- Oracle高级查询之over(partition by..)
查看原文:http://ibloger.net/article/248.html 为了方便学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. create table EMP (em ...
- 傅老师课堂:Oracle高级查询之CONNECT BY
为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. Oracle中的select语句可以用start with ... connect by prior ...子句实现递 ...
- 傅老师课堂:Oracle高级查询之OVER (PARTITION BY ..)
[size=large][size=large][size=large]开篇一笑:某日一妹子对男友说:在一起这么久了你都没有夸过我漂亮,今天我要你夸夸我,男子想了一会看着女友鸡冻的说道:我硬了. 为了 ...
- 傅老师课堂:Oracle高级查询之OVER (PARTITION BY ..) 1
为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. 注:标题中的红色order by是说明在使用该方法的时候必须要带上order by. 一.rank()/dense_r ...
最新文章
- pyEcharts安装及详细使用指南
- 利用Python绘制萌萌哒的皮卡丘
- Latex 数学符号表
- Hibernate和UUID标识符
- 你被限流了吗?| 图解+代码
- 安防弱电智能化VISIO图标图例(几百个),让你的技术方案瞬间高大上起来
- php301劫持,黑帽seo技巧-301权重代码劫持
- 英语单词记忆(词缀 / 后缀)
- ubuntu18.04安装kinect1(xbox360)驱动以及实时运行rtabmap
- python炒股难度_诺贝尔奖得主教你如何分配炒股仓位 | python量化系列
- javamail模拟邮箱功能--邮件删除-中级实战篇【邮件标记方法】(javamail API电子邮件实例)
- 使用Termux在安卓手机上运行tomcat服务器
- 如何获取淘宝商品类目信息,通过商品ID获取商品类目?
- 分治法 divide and conquer
- go Benchmark的运行
- 提高win7系统运行速度的方法
- Relational Reinforcement Learning: An Overview
- html5 编写网页代码,使用纯HTML5编写一款网页上的时钟的代码分享
- 计算机中文输入法教案,输入汉字的学习
- evb测试板_TB6600EVB全功能TB6600芯片测试板(LP)