一、級(jí)聯(lián)數(shù)據(jù)的表示: 首先我們來(lái)看一張關(guān)于組織架構(gòu)的結(jié)構(gòu)圖 這張圖是一個(gè)典型的“樹(shù)型結(jié)構(gòu)圖”,只有一個(gè)根節(jié)點(diǎn)(King),其下有若干個(gè)分支節(jié)點(diǎn),每個(gè)分支節(jié)點(diǎn)下又有若干個(gè)子節(jié)點(diǎn)或樹(shù)葉節(jié)點(diǎn)。假如我們要把這些關(guān)系信息映射到數(shù)據(jù)庫(kù)中(此處以O(shè)racle9i數(shù)據(jù)庫(kù)為例),表結(jié)構(gòu)應(yīng)當(dāng)如何表示呢?
CONNECT BY condition2 指定級(jí)聯(lián)數(shù)據(jù)中父紀(jì)錄和子紀(jì)錄之間的關(guān)系,這里的關(guān)系被表示成一個(gè)表達(dá)式,當(dāng)前紀(jì)錄的字段會(huì)和對(duì)應(yīng)的父紀(jì)錄的某個(gè)字段進(jìn)行比較。condition2必須跟著一個(gè)PRIOR操作符,該操作符用于標(biāo)明父紀(jì)錄的字段。condtion2不能包含子查詢 PRIOR是Oracle的一個(gè)內(nèi)建操作符,僅用于級(jí)聯(lián)查詢。當(dāng)我們?cè)诩?jí)聯(lián)查詢的CONNECT BY條件中使用了PRIOR操作符時(shí),位于其后的表達(dá)式被當(dāng)成是當(dāng)前紀(jì)錄的父紀(jì)錄進(jìn)行比較。 三、實(shí)例比較: 下面我們通過(guò)2條SQL語(yǔ)句來(lái)演示如何進(jìn)行級(jí)聯(lián)查詢,以及PRIOR在不同位置時(shí)帶來(lái)的不同結(jié)果。