1. 程式人生 > >oracle中進行簡單樹查詢(遞迴查詢) ,PRIOR、CONNECT_BY_ROOT的用法

oracle中進行簡單樹查詢(遞迴查詢) ,PRIOR、CONNECT_BY_ROOT的用法

1、有下面樣式的5層樹形資料,現在要篩選基層以及基層以下所有資料


select *
  from AUTH_ORGANIZATION_TB t
 start with t.org_id = 32
connect by prior t.org_id = t.org_id_superior
 order by t.org_id_superior,org_id
執行結果入下:

2、如上圖,已知生產技術科,要獲取他的上兩級資料煉油執行一部

select level,
       T.ORG_ID,
       T.ORG_ID_SUPERIOR,
       RPAD('_', (level - 1) * 6, '_') || T.U_NAME,
       CONNECT_BY_ROOT ORG_ID,
       CONNECT_BY_ROOT U_NAME_FULL,
       CONNECT_BY_ISLEAF
  from AUTH_ORGANIZATION_TB T
 start with T.ORG_ID_SUPERIOR = 32
connect by prior T.ORG_ID = T.ORG_ID_SUPERIOR

執行結果如下:

相關推薦

oracle進行簡單查詢(查詢) ,PRIORCONNECT_BY_ROOT用法

1、有下面樣式的5層樹形資料,現在要篩選基層以及基層以下所有資料 select * from AUTH_ORGANIZATION_TB t start with t.org_id = 32

二叉前序後序遍歷

import java.util.Stack; class Solution {     private static void doPre(ListNode root) { &n

Java檔案的兩種查詢方法

最近,需要用寫小工具來進行大量的檔案讀寫操作,不可避免的用到檔案目錄的遞迴,下面有兩種方法,一種是方法遞迴,一種是NIO的遞迴。效率應該是後一種優先,因為第一種我在學習機上跑竟然溢位了。 第一種: File file = new File(path);

榮工又解決問題了:用ORACLE的sys_connect_by_path函式,獲得查詢路徑上各個節點的運算值

語句示例如下 Select JgId,JgType,OrgCode,Orgname,DepCode,DepName,ClsCode,ClsName,EtpCode,EtpName        sys_connect_by_path(PlanRate,'*') from

資料結構-二叉前序後序遍歷;棧實現序變數;二叉映象)

* *前序、後序、中序變數二叉樹(遞迴解法) *中序 棧實現 *深度遍歷 佇列實現 *應用:二叉樹映象(劍指offer) */ typedef struct BiTNode *BiTree;//結點指標 //前序遍歷 void preOrderTra

MySqlOracle(通用方法)查詢生成檔案目錄(JAVA實現 過程不訪問資料庫,之前只訪問兩次 進行前資料準備)

查詢檔案樹 實體類 public class TradeInfoFile { ​ // 檔案編碼(子) private String fileCode; // 所屬檔案編碼(父) private String belongFileCode; // 交易

MyBatis自身集合巢狀,查詢目錄(適用於MySQLORACLE等資料庫,程式碼都寫在XML,通過SQL完成)

JAVA程式碼實現(連結):MySql、Oracle(通用方法)遞迴查詢生成檔案目錄樹(JAVA實現 遞迴過程中不訪問資料庫,遞迴之前只訪問兩次 進行遞迴前資料準備)   以下是XML中實現檔案樹的查詢、遞迴 場景:根據交易編碼,查詢檔案樹 檔案、資料夾都存放TRADER_

db2和oracle查詢查詢)語句

 在db2和oracle中的對樹的遞迴查詢語句。 表結構: create table  MAIN_NODE ( MLA_ID               INTEGER     not null        ,   //節點ID MLA_ROOTID          IN

Oracle查詢,start with connect by prior 查詢用法(轉載)

本人覺得這個寫的真不錯,實用性強,就轉載過來了 這個子句主要是用於B樹結構型別的資料遞迴查詢,給出B樹結構型別中的任意一個結點,遍歷其最終父結點或者子結點。 先看原始資料: 1 create table a_test 2 ( parentid varchar2(10), 3

Oracle 操作查詢(select…start with…connect by…prior)

一、Oracle中start with…connect by prior子句用法 connect by 是結構化查詢中用到的,其基本語法是: select … from tablename start with 條件1connect by 條件2where 條件3; 例: select

SQL Server 2008的CTE查詢得到一棵

with CTE as     (      -->Begin 一個定位點成員       select ID, Name,Parent,cast(Name as nvarchar(max)) as TE,           ROW_NUMBER()over(order by getdat

oracle狀結構的儲存與展示(查詢

(一)遞迴 一個過程或函式在其定義或說明中有直接或間接呼叫自身的一種方法。 菲波那切數列就是利用遞迴定義的: ·F0 = 0·F1 = 1 ·Fn = Fn – 1 + Fn – 2 (二)遞迴查詢

oracle的層級查詢操作

oracle中的層級操作非常方便,在使用之後愛不釋手,以前要實現該種資料查詢操作,需要非常複雜的實現過程。在oracle中通過connect by可以實現前面的目的,通常情況下層級查詢基本都能實現遞迴查詢目的。下面是connect by的使用語法: select [le

Oracle查詢

我們假設有如下一張機構表(ORG): 欄位型別 欄位名稱 欄位描述 NUMBER(16) ID 機構ID NUMBER(16) PARENT_ID 父機構ID VARCHAR2(100) NAME 機構名稱 NUMBER(1) ENABLE 是否啟用

Oracle 查詢 查詢

select o1.org_id, o1.org_name, o1.p_org_id from loss_pub_org o1 --where o1.org_level = '03'/*可以新增過

二叉的先序/序/後序()+層序遍歷

queue 的基本操作舉例如下: queue入隊,如例:q.push(x); 將x 接到佇列的末端。 queue出隊,如例:q.pop(); 彈出佇列的第一個元素,注意,並不會返回被彈出元素的值。 訪問queue隊首元素,如例:q.front(),即最早被壓入佇列的元素。 訪問que

leetcode700+找出二叉的某值,

https://leetcode.com/problems/search-in-a-binary-search-tree/description/ struct TreeNode { int val; TreeNode *left; TreeNode *right;

mybatis 實現查詢結構節點

mybatis 實現遞迴查詢出樹結構節點 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.

Python實現二叉的建立以及遍歷(前序後序遍歷,隊棧前序後序層次遍歷)

class Node: def __init__(self,data): self.data=data self.lchild=None self.rchild=None class Tree: def __init__(se

c++二叉和非的前序序和後序遍歷以及層序遍歷

二叉樹的遞迴版的前序,中序和後序遍歷很簡單也很容易理解,這裡就放一個前序遍歷的例子 //前序遍歷遞迴演算法,遞迴演算法都大同小異,這裡就不一一列舉了 void binaryTree::pro_order(NodeStack::Node *t) { NodeStack::Node *h = t;