Oracle 11gr2 の次のツリー階層の例を考えてみます。
クエリ:
SELECT Lpad(ename,Length(ename) + LEVEL * 10 - 10,'-')
FROM emp
START WITH mgr IS NULL
CONNECT BY PRIOR empno = mgr
Result:
KING
----------JONES
--------------------SCOTT
------------------------------ADAMS
--------------------FORD
------------------------------SMITH
----------BLAKE
--------------------ALLEN
--------------------WARD
--------------------MARTIN
--------------------TURNER
--------------------JAMES
----------SAM
--------------------MILLER
ename が文字 'S' で始まる場合は常にi.e. substr(ename,1,1) = 'S'
この値/ブランチを表示するが、それより下のすべてを無視するように、ツリー クエリを整理する必要があります。つまり、このレベル以降は何も表示しません。
したがって、上記の結果サンプルに基づいて、新しい結果サンプルは次のようになります。
New Result:
KING
----------JONES
--------------------SCOTT
--------------------FORD
------------------------------SMITH
----------BLAKE
--------------------ALLEN
--------------------WARD
--------------------MARTIN
--------------------TURNER
--------------------JAMES
----------SAM
そのため、子 "ADAMS" と "MILLER" は新しい結果から削除されました。