oracle SQL查询语句

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle SQL查询语句相关的知识,希望对你有一定的参考价值。

查询SMITH员工及其所有直接、间接下属员工的信息。
查询SCOTT员工及其直接、间接上级员工的信息。
以树状结构查询所有员工与领导之间的层次关系

SELECT LPAD(' ',(LEVEL-1)*3)||ename
FROM emp
START WITH ename='SMITH'
CONNECT BY PRIOR empno=mgr ;

SELECT ename
FROM emp
START WITH ename='SCOTT'
CONNECT BY PRIOR mgr=empno
ORDER BY LEVEL DESC ;

SELECT LPAD(' ',(LEVEL-1)*3)||ename
FROM emp
START WITH mgr IS NULL
CONNECT BY PRIOR empno=mgr ;
你问的是ORACLE中层次树状查询,START WITH 。。 CONNECT BY 用法。
START WITH 指明树的起点。至于是找上级还是下级(也就是你问的),关键就在于PRIOR的用
法。PRIOR的意思是前一个。
比如:START WITH ename='SMITH'
CONNECT BY PRIOR empno=mgr ;
的意思:ename='SMITH'表示树的起点,即第一行
CONNECT BY PRIOR empno=mgr 表示上一行员工的编号是当前行的管理者,即找SMITH的下属。

START WITH ename='SCOTT'树的起点,即第一行
CONNECT BY PRIOR mgr=empno 表示上一行员工的管理员编号是当前员工的编号,即找SCOTT的上级及间接上级。
参考技术A select employee_id,last_name,manager_id from employees start with last_name='Smith' connect by prior employee_id=manager_id;
select employee_id,last_name,manager_id from employees start with last_name='SCOTT' connect by prior manager_id=employee_id;
select employee_id,last_name,manager_id from employees connect by prior
employee_id=manager_id;

以上是关于oracle SQL查询语句的主要内容,如果未能解决你的问题,请参考以下文章

oracle 用sql语句查询 已打补丁列表。

ORACLE分页查询SQL语句

如何使用sql语句,查询oracle的表注释等信息?

Oracle查询语句

如何使用sql语句,查询oracle的表注释等信息?

怎么查询oracle中响应时间最长的sql语句,并列出平均响应时间