ホームページ > データベース > mysql チュートリアル > MySQL は 1 つのクエリでツリー構造テーブルを任意の深さまでクエリできますか?

MySQL は 1 つのクエリでツリー構造テーブルを任意の深さまでクエリできますか?

Linda Hamilton
リリース: 2025-01-06 17:33:40
オリジナル
423 人が閲覧しました

Can MySQL Query a Tree Structure Table to Any Depth in One Query?

MySQL のツリー構造テーブルは 1 回の試行で任意の深さまでクエリできますか?

それが実現可能かどうかという疑問が生じます。 MySQL のツリー構造テーブルを走査し、深さに関係なくすべての子孫または祖先を 1 回の操作で取得します。

回答

はい、可能です。 Joe Celko の「Trees and Hierarchies in SQL for Smarties」で概説されているように、修正された Preorder Tree Traversal 手法を使用すると、これが可能になります。以下は参考資料からの抜粋です:

SELECT *
FROM tree
ORDER BY FIELD(`left`, @field_list_all, @field_list_current, @field_list_children)
LIMIT 1
ログイン後にコピー

このクエリは、変数 (@field_list_all) として保存された「フィールド リスト」を利用して、トラバーサルを追跡し、効率的に処理されるノードを識別します。包括的な例については、指定されたドキュメントを参照してください。

以上がMySQL は 1 つのクエリでツリー構造テーブルを任意の深さまでクエリできますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート