START WITH...CONNECT BY PRIOR簡單使用
START WITH...CONNECT BY PRIOR簡單使用
[@more@]1、測試環境的建立
SQL> CREATE TABLE TBL_TEST
2 (
3 ID NUMBER,
4 NAME VARCHAR2(10),
5 PID NUMBER
6 );
表已建立。
SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('1','10','0');
已建立 1 行。
SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('2','11','1');
已建立 1 行。
SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('3','20','0');
已建立 1 行。
SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('4','12','1');
已建立 1 行。
SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('5','121','2');
已建立 1 行。
SQL> INSERT INTO TBL_TEST(ID,NAME,PID) VALUES('6','121','3');
已建立 1 行。
從樹根到樹葉:
SQL> select * from TBL_TEST
2 start with id=1
3 connect by prior id = pid;
ID NAME PID
---------- ---------- ----------
1 10 0
2 11 1
5 121 2
4 12 1
從樹葉到樹根:
SQL> select * from TBL_TEST
2 start with id=5
3 connect by prior pid = id;
ID NAME PID
---------- ---------- ----------
5 121 2
2 11 1
1 10 0
connect by 是結構化查詢中用到的,其基本語法是:
select ... from tablename start by cond1
connect by cond2
where cond3;
簡單說來是將一個樹狀結構儲存在一張表裡
COND1是根結點的限定語句,當然可以放寬限定條件,以取得多個根結點,實際就是多棵樹。
COND2是連線條件,其中用PRIOR表示上一條記錄,比如 CONNECT BY PRIOR ID=PRAENTID就是說
上一條記錄的ID是本條記錄的PRAENTID,即本記錄的父親是上一條記錄。
COND3是過濾條件,用於對返回的所有記錄進行過濾。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24870090/viewspace-982884/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- start with...connect by prior用法
- Oracle中start with...connect by prior子句用法.docOracle
- START WITH...CONNECT BY
- start with connect by prior
- oracle中start with connect by priorOracle
- connect by ...[prior]...start with 學習
- 請教start with ......connect by prior .....用法
- [轉載] Oracle:start with...connect by子句的用法Oracle
- Oracle 樹操作(select…start with…connect by…prior)Oracle
- 樹型結構start with..........connect by prior
- 【--SQL基礎-->層次化查詢(START BY ... CONNECT BY PRIOR)】SQL
- 在查詢列表中使用PRIOR操作
- start with ... connect by用法簡介
- 簡單使用 rocketmqMQ
- GCDAsyncSocket 簡單使用GC
- JPTabBar簡單使用tabBar
- Quartz 簡單使用quartz
- Github 簡單使用Github
- gorm 簡單使用GoORM
- ListView簡單使用View
- GCD簡單使用GC
- 簡單,使用WKWebViewWebView
- git簡單使用Git
- sftp簡單使用FTP
- redux簡單使用Redux
- jq 簡單使用
- Kdevelop的簡單使用和簡單除錯dev除錯
- prometheus 簡單使用及簡單 middleware 開發Prometheus
- butterfly簡單使用教程
- docker的簡單使用Docker
- postman的簡單使用Postman
- RecyclerView的簡單使用View
- git的簡單使用Git
- java 反射簡單使用Java反射
- WebWorker 簡單使用方式Web
- BootStrapValidate 簡單使用boot
- docker命令簡單使用Docker
- LayUi的簡單使用UI