oracle start with 遞迴查詢

2021-06-22 13:38:44 字數 489 閱讀 8220

oracle中的select語句可以用start with...connect by prior子句實現遞迴查詢,connect by 是結構化查詢中用到的,其基本語法是:

select ... from

where

start with

connect by ;

:過濾條件,用於對返回的所有記錄進行過濾。

:查詢結果重起始根結點的限定條件。

:連線條件

select * from sys_resource r start with r.id in ('根節點')  connect by prior  r.id=r.parent_id;     根節點向下遞迴

select * from sys_resource r start with r.id in ('葉子節點')  connect by prior r.parent_id=r.id;

子節點向上遞迴

Oracle start with 儲存樹狀結構

create table priortest id number not null fatherid number,name varchar2 4000 not null insert into priortest id,fatherid,name values 1000 null 一級分組 ins...

mysql省市區遞迴查詢 mysql 遞迴查詢

insert into t areainfo values 1 0 中國 0 0 insert into t areainfo values 2 0 華北區 1 0 insert into t areainfo values 3 0 華南區 1 0 insert into t areainfo va...

鍊錶查重 遞迴實現

最開始想到的遞迴方法,初步估計效率不會太高,但是 比較容易理解 思路 現在有乙個無序的鍊錶,在不清楚元素個數的情況下,無法常規的迭代實現查重 迭代也可以做,且效率較高 我首先想到是否可用遞迴實現。遞迴的思路是 從表頭元素開始比較直到表尾結束,如果出現和表頭重複的元素就刪除,然後表頭後移一位,繼續遞迴...