91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Oracle如何實現層次化查詢

發布時間:2021-11-10 14:45:51 來源:億速云 閱讀:219 作者:小新 欄目:關系型數據庫

小編給大家分享一下Oracle如何實現層次化查詢,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Oracle層次化查詢

(1) 樹狀模型

假如有一個市場模型,其中一級市場是中國,二級市場是省份,三級市場是各個省下面的市,四級市場是各個市下面的縣。那么可以創建表market

create table market(market_id number(2), market_name varchar2(10), parent_market_id number(2));

insert all

into market values(1, 'China', 0)

into market values(2, 'Shan Xi', 1)

into market values(3, 'Shan Dong', 1)

into market values(4, 'Fu Jian', 1)

into market values(5, 'Tai Yuan', 2)

into market values(6, 'Yang Quan', 2)

into market values(7, 'Qi Zhou', 2)

into market values(8, 'Qing Dao', 3)

into market values(9, 'Ji Nan', 3)

into market values(10, 'Yan Tai', 3)

into market values(11, 'Xia Men', 4)

into market values(12, 'Fu Zhou', 4)

into market values(13, 'Quan Zhou', 4)

into market values(14, 'Gu Jiao', 5)

into market values(15, 'Yang Qu', 5)

into market values(16, 'Qing Xu', 5)

select * from dual;

(2) 層次化查詢

select market_id, market_name

from market

start with market_name = 'Shan Xi'

connect by prior market_id = parent_market_id;

MARKET_ID MARKET_NAME

---------- ------------------------------

2 Shan Xi

5 Tai Yuan

14 Gu Jiao

15 Yang Qu

16 Qing Xu

6 Yang Quan

7 Qi Zhou

7 rows selected.

這里的搜索規則為:從'Shan Xi'節點開始搜索、前一個節點的market_id等于下一個節點的parent_markket_id

(3) 相關函數

顯示搜索路徑的函數為

sys_connect_by_path(列名,分隔符)

示例:

select market_id, market_name, sys_connect_by_path(market_name, '/') as market_path

from market

start with market_name = 'Gu Jiao'

connect by prior parent_market_id = market_id;

MARKET_ID MARKET_NAM MARKET_PATH

---------- ---------- ----------------------------------------

14 Gu Jiao    /Gu Jiao

5 Tai Yuan   /Gu Jiao/Tai Yuan

2 Shan Xi    /Gu Jiao/Tai Yuan/Shan Xi

1 China      /Gu Jiao/Tai Yuan/Shan Xi/China

這里可以利用max()函數來獲得完整的路徑:

select max(sys_connect_by_path(market_name, '/')) market_path

from market

start with market_name = 'Gu Jiao'

connect by prior parent_market_id = market_id;

MARKET_PATH

----------------------------------------

以上是“Oracle如何實現層次化查詢”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

安多县| 巴彦淖尔市| 高碑店市| 西畴县| 勃利县| 交口县| 开化县| 平果县| 舞钢市| 北辰区| 齐河县| 满洲里市| 青海省| 新巴尔虎右旗| 军事| 东方市| 集安市| 南岸区| 盐源县| 榆社县| 明水县| 嘉兴市| 潢川县| 北安市| 阳高县| 新竹市| 思茅市| 九龙县| 广汉市| 龙泉市| 宣化县| 柳江县| 涞源县| 夹江县| 漾濞| 孝感市| 太仆寺旗| 城口县| 青河县| 兴山县| 新龙县|