日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

Oracle遞歸查詢簡單示例

瀏覽:321日期:2023-03-12 15:25:41
目錄
  • 1 數據準備
  • 2 start with connect by prior遞歸查詢
    • 2.1 查詢所有子節點
    • 2.2 查詢所有父節點
    • 2.3 查詢指定節點的,根節點
    • 2.4 查詢巴中市下行政組織遞歸路徑
  • 3 with遞歸查詢
    • 3.1 with遞歸子類
    • 3.2 遞歸父類
  • 補充:實例
    • 總結

      1 數據準備

      create table area_test(  id number(10) not null,  parent_id  number(10),  name       varchar2(255) not null);alter table area_test add (constraint district_pk primary key (id));insert into area_test (ID, PARENT_ID, NAME) values (1, null, "中國");insert into area_test (ID, PARENT_ID, NAME) values (11, 1, "河南省"); insert into area_test (ID, PARENT_ID, NAME) values (12, 1, "北京市");insert into area_test (ID, PARENT_ID, NAME) values (111, 11, "鄭州市");insert into area_test (ID, PARENT_ID, NAME) values (112, 11, "平頂山市");insert into area_test (ID, PARENT_ID, NAME) values (113, 11, "洛陽市");insert into area_test (ID, PARENT_ID, NAME) values (114, 11, "新鄉市");insert into area_test (ID, PARENT_ID, NAME) values (115, 11, "南陽市");insert into area_test (ID, PARENT_ID, NAME) values (121, 12, "朝陽區");insert into area_test (ID, PARENT_ID, NAME) values (122, 12, "昌平區");insert into area_test (ID, PARENT_ID, NAME) values (1111, 111, "二七區");insert into area_test (ID, PARENT_ID, NAME) values (1112, 111, "中原區");insert into area_test (ID, PARENT_ID, NAME) values (1113, 111, "新鄭市");insert into area_test (ID, PARENT_ID, NAME) values (1114, 111, "經開區");insert into area_test (ID, PARENT_ID, NAME) values (1115, 111, "金水區");insert into area_test (ID, PARENT_ID, NAME) values (1121, 112, "湛河區");insert into area_test (ID, PARENT_ID, NAME) values (1122, 112, "舞鋼市");insert into area_test (ID, PARENT_ID, NAME) values (1123, 112, "寶豐市");insert into area_test (ID, PARENT_ID, NAME) values (11221, 1122, "尚店鎮");

      2 start with connect by prior遞歸查詢

      2.1 查詢所有子節點

      select *from area_teststart with name ="鄭州市"connect by prior id=parent_id

      2.2 查詢所有父節點

      select t.*,levelfrom area_test tstart with name ="鄭州市"connect by prior t.parent_id=t.idorder by level asc;

      start with 子句:遍歷起始條件,如果要查父結點,這里可以用子結點的列,反之亦然。
      connect by 子句:連接條件。prior 跟父節點列parentid放在一起,就是往父結點方向遍歷;prior 跟子結點列subid放在一起,則往葉子結點方向遍歷。parent_id、id兩列誰放在“=”前都無所謂,關鍵是prior跟誰在一起。
      order by 子句:排序。

      2.3 查詢指定節點的,根節點

      select d.*,	   connect_by_root(d.id) rootid,	   connect_by_root(d.name) rootnamefrom area_test dwhere name="二七區"start with d.parent_id IS NULLconnect by prior d.id=d.parent_id

      2.4 查詢巴中市下行政組織遞歸路徑

      select id, parent_id, name, sys_connect_by_path(name, "->") namepath, levelfrom area_teststart with name = "平頂山市"connect by prior id = parent_id

      3 with遞歸查詢

      3.1 with遞歸子類

      with tmp(id, parent_id, name) as (	select id, parent_id, name    from area_test    where name = "平頂山市"    union all    select d.id, d.parent_id, d.name    from tmp, area_test d    where tmp.id = d.parent_id   )select * from tmp;

      3.2 遞歸父類

      with tmp(id, parent_id, name) as  (   select id, parent_id, name   from area_test   where name = "二七區"   union all   select d.id, d.parent_id, d.name   from tmp, area_test d   where tmp.parent_id = d.id   )select * from tmp;

      補充:實例

      我們稱表中的數據存在父子關系,通過列與列來關聯的,這樣的數據結構為樹結構。

      現在有一個menu表,字段有id,pid,title三個。

      查詢菜單id為10的所有子菜單。

      SELECT * FROM tb_menu m START WITH m.id=10 CONNECT BY m.pid=PRIOR m.id;

      將PRIOR關鍵字放在m.id前面,意思就是查詢pid是當前記錄id的記錄,如此順延找到所有子節點。

      查詢菜單id為40的所有父菜單。

      SELECT * FROM tb_menu m START WITH m.id=40 CONNECT BY PRIOR m.pid= m.id ORDER BY ID;

      總結

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

      標簽: Oracle
      日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
      91精品尤物| 国产日韩免费| 捆绑调教美女网站视频一区 | 精品国产一区二区三区性色av| 久久国内精品自在自线400部| 久久国产精品久久w女人spa| 亚洲欧美日韩精品一区二区| 视频一区二区三区中文字幕| 麻豆精品网站| 亚洲精品亚洲人成在线观看| 日本成人在线不卡视频| 欧美亚洲人成在线| 久久av日韩| 成人三级高清视频在线看| 欧美男人天堂| 好吊日精品视频| 亚洲精品乱码| 免费在线亚洲欧美| 日韩在线观看不卡| 亚洲精品123区| 无码日韩精品一区二区免费| 日本三级亚洲精品| 麻豆精品视频在线观看视频| 色偷偷偷在线视频播放| 免费视频国产一区| 欧美综合二区| 91成人福利| 久久精品国产福利| 中文在线а√天堂| 欧美va天堂在线| 亚洲精品视频一二三区| 免费在线日韩av| 99成人超碰| 丝袜美腿亚洲色图| 国产精品调教视频| 色在线视频观看| 亚洲欧美久久久| 欧美日一区二区三区在线观看国产免| 荡女精品导航| 好吊一区二区三区| 久久国内精品视频| 中文字幕人成乱码在线观看 | 日本视频一区二区| 四季av一区二区凹凸精品| 国产二区精品| 国产欧美亚洲一区| 国内亚洲精品| 日本v片在线高清不卡在线观看| 你懂的亚洲视频| 欧美jjzz| 国产精品chinese| 欧美亚洲精品在线| 欧美日韩视频免费看| 免费一二一二在线视频| 免费的成人av| 黄毛片在线观看| 亚欧成人精品| 国产精品亚洲一区二区三区在线观看| 伊人精品久久| 亚洲va中文在线播放免费| 日韩在线观看中文字幕| 四虎4545www国产精品| 亚洲欧洲日韩| 999精品在线| 久久99影视| 在线一区二区三区视频| 日韩电影在线视频| 欧美亚洲tv| 久久国产精品亚洲77777| 国产suv精品一区| 亚洲精品成人一区| 国产综合亚洲精品一区二| 国产精品.xx视频.xxtv| 在线视频亚洲欧美中文| 91精品啪在线观看国产18| 国产欧美成人| 日韩精品一级二级| 久草免费在线视频| 国产精品羞羞答答在线观看| 亚洲欧美日韩国产| 日韩精品永久网址| 麻豆久久久久久| 亚洲精品精选| 91精品二区| av亚洲一区二区三区| 精品视频自拍| 国产精品一区二区中文字幕| 亚洲天堂av资源在线观看| 国产一区日韩欧美| 欧美黄色网页| 日本久久精品| 免费在线亚洲欧美| 综合激情一区| 伊人久久亚洲美女图片| 999久久久国产精品| 麻豆mv在线观看| 久久中文字幕一区二区| 欧美中文高清| 日韩欧美久久| 一区二区电影| 免费中文字幕日韩欧美| 欧美日韩精品一本二本三本 | 亚洲女同中文字幕| 日本欧美不卡| 精品视频99| 老司机免费视频一区二区| 国产情侣久久| 欧美午夜三级| 91欧美极品| 日韩精品一区二区三区中文字幕| 美女尤物久久精品| 亚洲欧美日韩视频二区| 国产亚洲精品v| 亚洲欧美成人综合| 性色一区二区| 久久99伊人| 每日更新成人在线视频| 国产精品视区| 99视频+国产日韩欧美| 欧美日韩精品一本二本三本| 99在线精品免费视频九九视 | 欧美国产日韩电影| 久久成人福利| 久久久精品区| 国产传媒av在线| 精精国产xxxx视频在线播放| 久久久噜噜噜| 婷婷亚洲五月| 免费精品视频| 一区二区精品| 亚洲精品国产精品粉嫩| 日本v片在线高清不卡在线观看| 日韩国产欧美在线播放| 欧美一区在线观看视频| 久久免费福利| 欧美香蕉视频| 蜜臀91精品国产高清在线观看| 99国产精品私拍| 一区二区国产在线观看| 欧美伊人影院| 高清一区二区三区av| 99久久激情| 亚洲一区日韩在线| 日韩精品a在线观看91| 国产精品99久久免费观看| 精品三级在线观看视频| 欧美aa在线观看| 亚洲欧美日本国产专区一区| 日韩av一区二| 成人午夜毛片| 亚洲国内欧美| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美一区精品| 九九九精品视频| 久久久久欧美精品| 在线一区二区三区视频| 国产九九精品| 亚洲a一区二区三区| 亚洲欧洲日韩精品在线| 久久久91麻豆精品国产一区| 少妇精品导航| 亚洲最新av| 久久一区欧美| 九一精品国产| 日本a口亚洲| 人人草在线视频| 免费在线视频一区| 欧美激情麻豆| 在线日韩视频| 欧美一区激情| 欧美日韩尤物久久| 中文字幕免费精品| 97精品一区| 一区二区国产精品| av资源中文在线| 亚洲一区有码| 国产va免费精品观看精品视频| 久久成人精品| 国产成人免费| 日日摸夜夜添夜夜添国产精品| 国产videos久久| 久久99伊人| 日本精品黄色| 日韩精品一区二区三区中文| 九九色在线视频| 国产三级一区| 激情婷婷综合| 久久wwww| 蜜臀av国产精品久久久久| 成人国产精选| 亚洲精品一区二区在线播放∴| 97精品在线| 91伊人久久| 99国产精品久久久久久久| 里番精品3d一二三区| 国产精品嫩草99av在线| 欧美激情另类| 国产精品一区二区美女视频免费看| 亚洲成人一区| 成人一区不卡|