現在ツリーを格納している方法では、1つの純粋なSQLクエリでツリー全体を取得することはできません。ツリーをフェッチするには、他の言語(C#、ループをサポートするストアドプロシージャなど)でループを作成する必要があります。
これ ツリーを保存する方法(ツリーのフェッチやツリーからのアイテムの削除を含む)を操作する方法を説明する素晴らしい記事です。
さらに興味深いことに、この記事では、実行するデータベーステーブルにツリーを格納する方法についても説明しています。 1回のクエリでツリー全体をフェッチできるようにします。これは、ツリートラバーサルの事前注文 と呼ばれます。 。あなたはより多くの情報のためにそれを調べることができます。 C#の実装 を見つけました 。これには、現在使用している方法よりもいくつかのロジックが含まれますが、最小のツリーを除くすべてのツリーに対してよりパフォーマンスが高くなります。