オラクル - 前再帰アルゴリズムによって接続します

例:

選択DM、DM、レベルcjdm、
SYS_CONNECT_BY_PATH(DMを、' / ' から選択 ' 1 ' sjdm、' 11 'の DM から二重
結合を全て
選択 ' 11 ' sjdm、' 111 '、DM からデュアル
組合全て
選択 ' 111 ' sjdm、1111  DM からの二重
のすべての組合
の選択 111 sjdm、' 1112 ' DM からの二重
のすべての組合
の選択 ' 1111 ' sjdm、' 11111 ' DM からデュアル
組合すべて
を選択 ' 11111 ' sjdm、' 111111は' DM からデュアル
組合すべて
を選択 ' 111111 ' sjdmを、' 1111111 'の DM からデュアル
組合すべて
を選択 111111  sjdmは、"1111112 ' DM からデュアル)は
前DMによって接続 = sjdm 
sjdmで開始 = 1 
sjdm順

 - 或者换种写法

選択DMを、DM、レベルcjdm、
SYS_CONNECT_BY_PATH(DM、' / ' から選択 ' 1 ' sjdmを11 」の DM から二重の
労働組合は、すべての
選択 11  sjdmを、111  DM からデュアル
組合のすべて
選択 ' 111 ' sjdm、' 1111 ' DM からデュアル
組合すべて
を選択 ' 111 ' sjdm、' 1112 ' DM からデュアル
組合すべて
を選択 ' 1111 ' sjdm、' 11111 ' DM からデュアル
組合すべて
を選択 ' 11111 ' sjdmを、" 111111  DM からデュアル
組合すべて
を選択 111111 ' sjdm、' 1111111 'の DM からデュアル
組合全て
選択 ' 111111 ' sjdmを、' 1111112 」の DM からデュアル)
sjdmで開始 = 1 
)(前DMによって接続 = sjdmの
sjdm順

結果:

要約:

1.階層データテーブルがある場合は、あなたがテーブルのレコード句の行の間の階層関係の階層クエリクエリを使用することができます

 指定された階層の親ノードと子ノードとの間の関係。

単項修道院内CONDITION2は一つの接続関係の二つの列の前に配置する必要があります。列名を使用することに加えて、接続関係にあるだけでなく、列式の使用を可能にします。

句で始まるツリー構造の最初の行のどの行(すなわちルートノード、ルートノードは、複数を指定することができる)を同定するためのルックアップとして、任意です。この句を省略すると、すべての行ルートノードとしてクエリを満たすこと。

オペレータは、検索クエリの順序を決定する前と後の前の位置に配置されました。 

 

おすすめ

転載: www.cnblogs.com/zhoufei2514/p/11201745.html