2019独角兽企业重金招聘Python工程师标准>>>

层次化查询

有下图这样一张表,它记录的是员工的一些信息,m_id该员工的上级的id,例如James就是Ron的上级;

那么我们如何找出他们的层级关系。

oracle为我们提供的Select语句的Connect by和start with子句可以执行层次查询;
语法如下:

select [level], column, expression, ...
form table
[where where_caluase]
[start with start_condtion connect by prior prior_condition]
--level 是一个伪列,代表了第几层,对于本表的CEO,自然是第一层
--start_condtion 定了层次化查询的起点,当编写层次化查询时必须指定start with子句;
--prior_condition 定义了父行和子行之间的关系,当编写层次化查询时必须定义connect by prior子句

实例:

--employee_id 就是表中的id
--manager_id 就是表中的m_id
select level, employee_id, manager_id, first_name, last_name
from more_employees
start with employee_id =1
connect by prior employee_id = manager_id
order by level;
select first_name || ' ' || last_name as employee from more_employees
start with first_name = 'Susan'
connect by prior employee_id = manager_id;

转载于:https://my.oschina.net/u/3023191/blog/1554019

oracle高级查询用法相关推荐

  1. oracle高级查询案例,oracle高级查询(实例基于scott用户四张表)

    oracle高级查询(实例基于scott用户四张表) 分组查询 多表查询 子查询 综合实例 ====================================================== ...

  2. Oracle高级查询之over(partition by...) 分组排序

    Oracle高级查询之over(partition by...) 分组排序 一.rank()/dense_rank() over(partition by ...order by ...) 现在客户有 ...

  3. Oracle高级查询,over 用法

    注:标题中的红色order by是说明在使用该方法的时候必须要带上order by. 一.rank()/dense_rank() over(partition by ...order by ...) ...

  4. oracle—高级查询

    Sql基础 数据库语言 数据操纵语言:DML (data manipulation language) select insert update delete merge 数据定义语言:DDL(dat ...

  5. Oracle高级查询

    使用Oracle特有的查询语法, 可以达到事半功倍的效果 1. 树查询 create table tree (     id number(10) not null primary key,      ...

  6. Oracle高级查询之over(partition by..)

    查看原文:http://ibloger.net/article/248.html 为了方便学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. create table EMP (em ...

  7. 傅老师课堂:Oracle高级查询之CONNECT BY

    为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. Oracle中的select语句可以用start with ... connect by prior ...子句实现递 ...

  8. 傅老师课堂:Oracle高级查询之OVER (PARTITION BY ..)

    [size=large][size=large][size=large]开篇一笑:某日一妹子对男友说:在一起这么久了你都没有夸过我漂亮,今天我要你夸夸我,男子想了一会看着女友鸡冻的说道:我硬了. 为了 ...

  9. 傅老师课堂:Oracle高级查询之OVER (PARTITION BY ..) 1

    为了方便大家学习和测试,所有的例子都是在Oracle自带用户Scott下建立的. 注:标题中的红色order by是说明在使用该方法的时候必须要带上order by. 一.rank()/dense_r ...

最新文章

  1. linux 卸载yaf,LINUX操作系统怎么搭建YAF框架
  2. 边缘计算 — 与 5G
  3. php解决mysql主从同步_Mysql读写分离,主从同步实现
  4. Linux下双网卡绑定bond0
  5. 版权 Copyright 和 Phpstorm
  6. 计算机组成原理白中英考点,唐朔飞版和白中英版《计算机组成原理》考研考点精讲及复习思路...
  7. Linux内核编程02:Kbuild子系统
  8. ora03113通信通道的文件结尾 会话id 149 序列号 3
  9. 学习英文必记的九种前缀与三种后缀
  10. MOS管开关速度相关参数
  11. Nginx反向代理的配置
  12. 邦邦两拳‾͟͟͞(((ꎤˋ⁻̫ˊ)—̳͟͞͞o
  13. CAT埋点实战-服务器搭建-代码实现
  14. 视频监控客户端-GB28181之转码库-转码格式支持H265、H264、MPEG4、MPEG2
  15. 【车辆计数】基于光流法实现车辆检测计数matlab 源码
  16. python延迟实现
  17. android5.1官方下载,vllo官方下载
  18. 基于VUE + Echarts 实现可视化数据大屏旅游大数据
  19. SQL Compare教程:工作示例——比较和部署两个数据库(下)
  20. 假设银行定期存款年利率rate为2.25%,已知存款本金capital元,尝试编程计算n年后可得到的本利之和deposit为多少?

热门文章

  1. Web Service (二) CXF自动发布Web Service(No Spring)
  2. Linux中命令配置防火墙
  3. 我们错了 - One of us is wrong
  4. oracle Ratio_to_report的用法
  5. 维护局域网,让更给力,教你如何去维护局域网
  6. [转贴]NIOS II 软核中EPCS配置芯片的存储操作
  7. 编程异常——假设你报createSQLQuery is not valid without active transaction,...
  8. android报错res\drawable-xhdpi\ic_Dianhua.png: Invalid file name: must contain only [a-z0-9_.]
  9. 使用tolua++编译pkg,从而创建自定义类让Lua脚本使用
  10. PHP网站安全,PHP程序安全的几个措施