国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

在Oracle層次查詢中給SIBLINGS排序

2024-08-29 13:50:55
字體:
供稿:網(wǎng)友
Oracle SELECT語句中的START WITH和CONNECT BY子句自動阻斷一個層次。缺少這項特性,就需要一個復(fù)雜的自聯(lián)接來確定行之間的邏輯聯(lián)系。START WITH子句指定被認為是層次起點,或“根”的一行或幾行。然后CONNECT BY PRIOR子句指明哪些行彼此關(guān)聯(lián)。 例如,列表A中的查詢從Oracle HR樣本模式的EMPLOYEES表中生成一個“Reports To”列表。
column "Reports To" format a30set pagesize 9999SELECT LPAD(' ', 2*(LEVEL-1))last_name "Reports To", employee_idFROM employeesSTART WITH employee_id IN (101, 102)CONNECT BY PRIOR employee_id = manager_id/
列表A
LEVEL偽列表明報告當前嵌套的深度,這里我使用LPAD雇員姓名對它們進行縮排。START WITH條件指出只有雇員101和102被認為是起點。然后CONNECT BY PRIOR子句將一行中的employee_id列與另一行的manager_id列連接起來,指出誰向誰報告。 假如你在HR模式中運行這個查詢,你會注重到某個經(jīng)理列表中的姓沒有分類,它們以O(shè)racle在處理層次時碰到它們的順序排列。 假如你希望下屬以字母順序排列,你可以嘗試對原始的last_name列使用ORDER BY。但是,這樣會破壞層次,把它變回一個單調(diào)的姓名列表。 你還可以首先對偽列LEVEL使用ORDER BY,它說明某個非凡行在層次中的深度。這同樣也會破壞層次,首先會列出所有的經(jīng)理,然后是向他們報告的雇員。 在Oracle 10g(兩個版本)中,現(xiàn)在很輕易實現(xiàn)這一點:你可以使用新的SIBLINGS要害字建立正確的順序。其語法如下:
ORDER SIBLINGS BY <eXPression>
因此在查詢結(jié)尾處增加下面這個子句:
ORDER SIBLINGS BY last_name
將會保護層次,并在每個等級中以字母順序排列雇員的姓。注重最初的last_name用作“Reports To”的別名。“Reports To”中的額外空間會影響排序,因此必須使用最初的last_name。列表B中是增加ORDER SIBLINGS BY前后的輸出結(jié)果。
SQL> @siblings_without_orderbyReports To EMPLOYEE_ID ------------------------------ ----------- Kochhar 101 Whalen 200 Mavris 203 Baer 204 Higgins 205 Gietz 206 Greenberg 108 Faviet 109 Chen 110 Sciarra 111 Urman 112 Popp 113 De Haan 102 Hunold 103 Ernst 104 Austin 105 Pataballa 106 Lorentz 107 18 rows selected.SQL> @siblings_with_orderbyReports To EMPLOYEE_ID ------------------------------ ----------- De Haan 102 Hunold 103 Austin 105 Ernst 104 Lorentz 107 Pataballa 106 Kochhar 101 Baer 204 Greenberg 108 Chen 110 Faviet 109 Popp 113 Sciarra 111 Urman 112 Higgins 205 Gietz 206 Mavris 203 Whalen 200 18 rows selected.SQL>
列表B


上一篇:專家調(diào)優(yōu)秘密之改善Oracle數(shù)據(jù)庫性能

下一篇:Oracle 10g自動工作負載信息庫剖析

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 彰化市| 安乡县| 县级市| 安乡县| 德钦县| 荥经县| 长沙市| 清新县| 惠安县| 大理市| 新巴尔虎右旗| 盐池县| 成都市| 阆中市| 荃湾区| 宁河县| 大足县| 东阳市| 四子王旗| 博湖县| 华亭县| 香港 | 五常市| 民勤县| 彝良县| 温泉县| 绵竹市| 潢川县| 达州市| 永新县| 富民县| 双江| 武城县| 龙岩市| 铜梁县| 新巴尔虎左旗| 黄浦区| 金乡县| 安庆市| 铁岭市| 柞水县|