MySQL の階層データの再帰クエリ
MySQL では、再帰クエリを通じて階層データを効率的にナビゲートできます。これらのクエリを使用すると、任意の深さの関係をたどることができ、データ構造に対する包括的な洞察が得られます。
一般的なシナリオの 1 つは、階層構造内の特定のノードのすべての祖先を見つけることです。たとえば、送信側と受信側の関係を表す列 senderid とReceiverid を含むテーブル mytable を考えてみましょう。ノード 5 のすべての祖先を取得したい場合は、階層をレベルからレベルまで上にたどる必要があります。
以下の再帰クエリは、このタスクを実行します。
SELECT @id := ( SELECT senderid FROM mytable WHERE receiverid = @id ) AS person FROM ( SELECT @id := 5 ) vars STRAIGHT_JOIN mytable WHERE @id IS NOT NULL
その結果、この再帰クエリは階層を効率的に横断し、ターゲット ノードのすべての祖先を取得します。この手法はさまざまな階層データ構造に適用でき、貴重な洞察を提供し、複雑なデータ分析を可能にします。
以上がMySQL 再帰クエリはどのようにして階層データを効率的にナビゲートできるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。