ホームページ > データベース > mysql チュートリアル > 単一の再帰 SQL クエリを使用して、指定されたディレクトリのすべてのサブディレクトリを取得する方法

単一の再帰 SQL クエリを使用して、指定されたディレクトリのすべてのサブディレクトリを取得する方法

Mary-Kate Olsen
リリース: 2025-01-02 19:07:40
オリジナル
276 人が閲覧しました

How to Retrieve All Subdirectories of a Given Directory Using a Single Recursive SQL Query?

サブディレクトリを取得するための再帰的クエリ

id_folder、id_folder_parent の列を含むディレクトリ構造をキャプチャする、folders_table という名前のテーブルがあるシナリオを考えてみましょう。 、およびフォルダー名。単一の SELECT クエリを使用して特定のディレクトリのすべてのサブディレクトリを取得するには、再帰的アプローチを採用する必要があります。次の手順はガイダンスです:

  1. データベース構造の変更: 階層内の各フォルダーの深さを示すレベル列を含めるように、folders_table を変更します。ルート ディレクトリのレベル 1 から開始し、以下のレベルごとに増分します。
  2. 再帰クエリの作成: 再帰 CTE (共通テーブル式) を利用して、ディレクトリ構造を横断します。クエリは、目的のルート フォルダーから開始し、そのレベルを含むすべてのサブディレクトリを再帰的に取得する必要があります。
  3. フィルターと結合: 目的の深さのサブディレクトリのみが含まれるようにクエリを制限します。これを元のfolders_tableと結合して、必要に応じて追加のフォルダーの詳細を取得します。

このアプローチにより、単一のクエリでサブディレクトリのツリーを任意の深さまで取得できます。詳細な実装ガイドラインについては、提供された回答で提供されるリソースを参照してください。

以上が単一の再帰 SQL クエリを使用して、指定されたディレクトリのすべてのサブディレクトリを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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