ホームページ >データベース >mysql チュートリアル >単一のクエリで MySQL の特定のディレクトリのすべてのサブディレクトリを取得するにはどうすればよいですか?
MySQL 再帰を使用した単一クエリでのサブディレクトリの取得
ディレクトリ構造に似たテーブルを考えてみましょう。
folders_table ----------------------- - INT id_folder - INT id_folder_parent - VARCHAR folder_name
課題は、単一のメソッドを使用して特定のディレクトリのすべてのサブディレクトリを取得することにあります。 SELECT クエリ。
解決策:
従来のデータベース構造では、このクエリを効率的にサポートできません。これを有効にするには、データベース構造を変更する必要があります。具体的には、階層を表すために自己参照関係が導入されています。
ステップバイステップの説明:
変更が完了したら、次のクエリを使用して、 1 つのクエリ内の任意の深さのツリー:
SELECT * FROM folders_table WHERE left_index > (SELECT left_index FROM folders_table WHERE id_folder = <parent_folder_id>) AND right_index < (SELECT right_index FROM folders_table WHERE id_folder = <parent_folder_id>) ORDER BY left_index
リソースさらに詳しい説明:
以上が単一のクエリで MySQL の特定のディレクトリのすべてのサブディレクトリを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。