国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

一文解析ORACLE樹結構查詢

瀏覽:51日期:2023-03-12 15:25:17

我們在日常程序設計中,經常會遇到樹狀結構的表示,例如組織機構、行政區劃等等。這些在數據庫中往往通過一張表進行展示。這里我們以一張簡單的行政區劃表為例進行展示,在實際使用過程中,可以為其添加其他描述字段以及層級。

表中通過ID和PID關聯,實現樹狀結構的存儲。建表以及數據語句如下:

-- Create tablecreate table TREETEST(  id   NVARCHAR2(50),  pid  NVARCHAR2(50),  name NVARCHAR2(50))
insert into TREETEST (ID, PID, NAME) values ("1", null, "山東省");insert into TREETEST (ID, PID, NAME) values ("2", "1", "青島市");insert into TREETEST (ID, PID, NAME) values ("3", "1", "煙臺市");insert into TREETEST (ID, PID, NAME) values ("4", null, "河南省");insert into TREETEST (ID, PID, NAME) values ("5", null, "河北省");insert into TREETEST (ID, PID, NAME) values ("6", "2", "市南區");insert into TREETEST (ID, PID, NAME) values ("7", "2", "市北區");insert into TREETEST (ID, PID, NAME) values ("8", "2", "即墨市");

那對于樹狀結構如何查詢呢?Oracle提供遞歸查詢的方式進行查詢,基本語法如下:

SELECT [Column]…..  FEOM [Table]  WHERE Conditional1  START WITH Conditional2  CONNECT BY PRIOR Conditional3  ORDER BY [Column]

說明:

  • 條件1---過濾條件,對全部返回的記錄進行過濾。
  • 條件2---根節點的限定條件,固然也可以放寬權限得到多個根節點,也就是獲取多個樹
  • 條件3---鏈接條件,目的就是給出父子之間的關系是什么,根據這個關系進行遞歸查詢(在上述表中就是ID=PID)
  • 排序---對全部返回記錄進行排序

下面我們結合具體實例來看:

1、查詢山東省下面的所有子節點

SELECT *  FROM TREETEST t START WITH t.PID=1CONNECT BY PRIOR t.ID = t.PID

其中ID為1的為山東省節點,查詢結果如下:

2、查詢青島市的下一級子節點(注意和上面區分,全部子節點和下一級子節點)

3、如果需要獲取將山東省青島市等連接起來顯示,可以使用SYS_CONNECT_BY_PATH來實現

SELECT t.ID, SYS_CONNECT_BY_PATH(t.NAME, "\") AS INDU_NAME  FROM TREETEST t START WITH t.PID IS NULLCONNECT BY PRIOR t.ID = t.PID

查詢結果如下:

4、同理,也可以從下往上進行查詢

SELECT *  FROM TREETEST t START WITH t.ID=8CONNECT BY t.ID = PRIOR t.PID

到此這篇關于一文解析ORACLE樹結構查詢的文章就介紹到這了,更多相關ORACLE樹結構查詢內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Oracle
主站蜘蛛池模板: 男人的天堂黄色 | 黄色美女视频免费看 | 国产孕妇孕交视频在线观看 | 久久www免费人成看国产片 | 杨幂丝袜国产福利视频 | 久久精品国产第一区二区 | 国产成人最新毛片基地 | 成年女人免费毛片视频永久 | 久久成人a毛片免费观看网站 | 精品久久久久久国产免费了 | 国产精品日本不卡一区二区 | 国内免费视频成人精品 | 国产三级a三级三级午夜 | 亚洲国产在 | 国产视频高清在线观看 | 国产九九精品 | 国产自偷自拍 | 精品国产一区二区三区www | 欧美大片一级特黄 | 久久91亚洲精品中文字幕 | 国产真实乱子伦xxxxchina | 深夜爽爽爽gif福利免费 | 国产精品久久精品视 | 91精品欧美一区二区三区 | 在线观看免费视频国产 | 成人毛片在线播放 | 国产日本一区二区三区 | 久久99国产综合精品 | 国产成人高清在线观看播放 | 另类视频一区 | 欧美二区视频 | 精品成人免费视频 | 国产自在自线午夜精品视频 | 久草视频在线免费看 | 长腿校花被啪到腿软视频 | 国产 高清 在线 | 亚洲国产欧美目韩成人综合 | 国产不卡视频在线观看 | 91精品国产高清91久久久久久 | 免费人成网站免费看视频 | 一级做a爰片欧美一区 |