【層次查詢】Hierarchical Queries之SYS_CONNECT_BY_PATH函式
有關層次查詢之前的文章參考如下。
【層次查詢】Hierarchical Queries之LEVEL應用
http://space.itpub.net/519536/viewspace-623916
【層次查詢】Hierarchical Queries之“樹的遍歷”
http://space.itpub.net/519536/viewspace-623809
【層次查詢】Hierarchical Queries之CONNECT_BY_ISCYCLE偽列
http://space.itpub.net/519536/viewspace-624032
【層次查詢】Hierarchical Queries之CONNECT_BY_ISLEAF偽列
http://space.itpub.net/519536/viewspace-624075
本文將要向大家介紹的是層次查詢中的SYS_CONNECT_BY_PATH函式,這個函式可以得到每個節點到根節點的完成路徑,在快速得到各節點間關係上有非常大的裨益。
1.回望關係“樹”
A
/ \
B C
/ /
D E
/ \
F G
2.重溫闡述上圖的T表資料
sec@ora10g> select * from t;
X Y Z
---------- ---------- ----------
A 1
B 2 1
C 3 1
D 4 2
E 5 3
F 6 4
G 7 4
7 rows selected.
3.SYS_CONNECT_BY_PATH效果畢現
sec@ora10g> col tree for a16
sec@ora10g> col tree_path for a16
sec@ora10g> select lpad(' ',level-1)||x tree, SYS_CONNECT_BY_PATH(x,'/') tree_path from t start with x = 'A' connect by NOCYCLE prior y=z;
TREE TREE_PATH
---------------- ----------------
A /A
B /A/B
D /A/B/D
F /A/B/D/F
G /A/B/D/G
C /A/C
E /A/C/E
7 rows selected.
此時可以簡單的和我們的“樹”進行比對,是不是很神奇,很直觀。
4.小變一下,SYS_CONNECT_BY_PATH的第二個引數是可以隨心情進行修改的。
sec@ora10g> select lpad(' ',level-1)||x tree, SYS_CONNECT_BY_PATH(x,'->') tree_path from t start with x = 'A' connect by NOCYCLE prior y=z;
TREE TREE_PATH
---------------- ----------------
A ->A
B ->A->B
D ->A->B->D
F ->A->B->D->F
G ->A->B->D->G
C ->A->C
E ->A->C->E
7 rows selected.
5.小結
SYS_CONNECT_BY_PATH函式帶給我們的是一種清新和清晰的感覺。在複雜的層次查詢中她給我們指明瞭方向,給出了線索。善用之。
白駒過隙,忽然而已!轉眼間2010已至,不變的祝福:
Good luck.
secooler
10.01.01
【層次查詢】Hierarchical Queries之LEVEL應用
http://space.itpub.net/519536/viewspace-623916
【層次查詢】Hierarchical Queries之“樹的遍歷”
http://space.itpub.net/519536/viewspace-623809
【層次查詢】Hierarchical Queries之CONNECT_BY_ISCYCLE偽列
http://space.itpub.net/519536/viewspace-624032
【層次查詢】Hierarchical Queries之CONNECT_BY_ISLEAF偽列
http://space.itpub.net/519536/viewspace-624075
本文將要向大家介紹的是層次查詢中的SYS_CONNECT_BY_PATH函式,這個函式可以得到每個節點到根節點的完成路徑,在快速得到各節點間關係上有非常大的裨益。
1.回望關係“樹”
A
/ \
B C
/ /
D E
/ \
F G
2.重溫闡述上圖的T表資料
sec@ora10g> select * from t;
X Y Z
---------- ---------- ----------
A 1
B 2 1
C 3 1
D 4 2
E 5 3
F 6 4
G 7 4
7 rows selected.
3.SYS_CONNECT_BY_PATH效果畢現
sec@ora10g> col tree for a16
sec@ora10g> col tree_path for a16
sec@ora10g> select lpad(' ',level-1)||x tree, SYS_CONNECT_BY_PATH(x,'/') tree_path from t start with x = 'A' connect by NOCYCLE prior y=z;
TREE TREE_PATH
---------------- ----------------
A /A
B /A/B
D /A/B/D
F /A/B/D/F
G /A/B/D/G
C /A/C
E /A/C/E
7 rows selected.
此時可以簡單的和我們的“樹”進行比對,是不是很神奇,很直觀。
4.小變一下,SYS_CONNECT_BY_PATH的第二個引數是可以隨心情進行修改的。
sec@ora10g> select lpad(' ',level-1)||x tree, SYS_CONNECT_BY_PATH(x,'->') tree_path from t start with x = 'A' connect by NOCYCLE prior y=z;
TREE TREE_PATH
---------------- ----------------
A ->A
B ->A->B
D ->A->B->D
F ->A->B->D->F
G ->A->B->D->G
C ->A->C
E ->A->C->E
7 rows selected.
5.小結
SYS_CONNECT_BY_PATH函式帶給我們的是一種清新和清晰的感覺。在複雜的層次查詢中她給我們指明瞭方向,給出了線索。善用之。
白駒過隙,忽然而已!轉眼間2010已至,不變的祝福:
Good luck.
secooler
10.01.01
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-624099/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 0629_層次查詢
- Oracle的SYS_CONNECT_BY_PATH函式Oracle函式
- C++ 逆向之 main 函式的查詢C++AI函式
- Solr複雜查詢一:函式查詢Solr函式
- PostgreSQL 查詢替換函式SQL函式
- MySQL入門系列:查詢簡介(三)之表示式和函式MySql函式
- php底層原理之函式PHP函式
- SQL查詢中用到的函式SQL函式
- Java-MySql-函式、多表查詢JavaMySql函式
- c++字串查詢函式實現C++字串函式
- 二分查詢(函式實現)函式
- 二分查詢函式的使用函式
- 從函式到包的Python程式碼層次函式Python
- PHP 查詢、擷取字串函式詳解PHP字串函式
- PostgreSQL函式:返回表查詢結果集SQL函式
- DMSFrame 之查詢表示式用法(一)
- MYSQL滿足條件函式里放查詢最大函式的方法MySql函式
- [20180626]函式與標量子查詢14.txt函式
- [20180625]函式與標量子查詢13(補充)函式
- [20180612]函式與標量子查詢10.txt函式
- [20180611]函式與標量子查詢9.txt函式
- [20180607]函式與標量子查詢8.txt函式
- [20180602]函式與標量子查詢4.txt函式
- [20180602]函式與標量子查詢3.txt函式
- 20180601]函式與標量子查詢2.txt函式
- Mysql中常用函式 分組,連線查詢MySql函式
- 查詢某欄位有特殊字元(PATINDEX函式)字元Index函式
- OpenCv查詢輪廓-cv2.findContours()函式OpenCV函式
- Python—Django:關於在Django框架中對資料庫的查詢函式,查詢集和關聯查詢PythonDjango框架資料庫函式
- SQL Server資料庫————模糊查詢和聚合函式SQLServer資料庫函式
- Hive內部函式簡介及查詢語法Hive函式
- MySQL函式查詢目錄樹問題記錄MySql函式
- Mysql建表、索引、函式、查詢使用中的坑!!!MySql索引函式
- MySQL全面瓦解10:分組查詢和聚合函式MySql函式
- 秒級查詢之開源分散式SQL查詢引擎Presto實操-上分散式SQLREST
- 記錄一次 postgresql 最佳化案例( volatility 自定義函式無法並行查詢 )SQL函式並行
- [譯] SQLite 底層查詢原理SQLite
- 層次式架構案例架構
- pgsql查詢優化之模糊查詢SQL優化