Oracle中的connect by

前端之家收集整理的这篇文章主要介绍了Oracle中的connect by前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
[oracle@localhost ~]$ sqlplus / as sysdba

sql*Plus: Release 11.2.0.4.0 Production on Sun Nov 20 14:09:35 2016

Copyright (c) 1982,2013,Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning,OLAP,Data Mining and Real Application Testing options

sql> col empno format a18  
sql> set lines 300
sql> set pages 30
sql> select lpad(' ',level * 2 - 1,' ') || xxx.empno empno,2         xxx.ename,3         xxx.job,4         xxx.mgr,5         xxx.sal
  6    from (select empno,ename,job,mgr,sal from scott.emp) xxx
  7  connect by prior xxx.empno = xxx.mgr
  8   start with xxx.mgr is null --->>>从 xxx.mgr is null的那一行开始.
  9   order siblings by xxx.empno;------------------------>>>>亲兄弟排序(7566和7698是亲兄弟,而7876和7369顶多算是堂兄弟)
 
EMPNO		   ENAME        JOB	         MGR	 SAL
-----------   ---------- --------- ---------- ----------
 7839		   KING       PRESIDENT 			 5000
   7566 	   JONES      MANAGER	      7839	 2975  --->>>prior xxx.empno = xxx.mgr 的解释:找到mgr为7566的那一个empno 7788,并把empno7788放在7566的下一行.
     7788	   SCOTT      ANALYST	      7566	 3000
       7876	   ADAMS      CLERK	          7788	 1100
     7902	   FORD       ANALYST	      7566	 3000
       7369	   SMITH      CLERK	          7902	  800
   7698 	   BLAKE      MANAGER	      7839	 2850
     7499	   ALLEN      SALESMAN	      7698	 1600
     7521	   WARD       SALESMAN	      7698	 1250
     7654	   MARTIN     SALESMAN	      7698	 1250
     7844	   TURNER     SALESMAN	      7698	 1500
     7900	   JAMES      CLERK	          7698	  950
   7782 	   CLARK      MANAGER	      7839	 2450
     7934	   MILLER     CLERK	          7782	 1300

14 rows selected.

sql> 
原文链接:https://www.f2er.com/oracle/211704.html

猜你在找的Oracle相关文章