ホームページ >データベース >mysql チュートリアル >自己結合は単一テーブル内の階層データの取得にどのように役立ちますか?

自己結合は単一テーブル内の階層データの取得にどのように役立ちますか?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-14 12:01:49852ブラウズ

How Can Self-Joins Help Retrieve Hierarchical Data Within a Single Table?

自己結合: 簡潔な概要

データベース管理における自己結合は、テーブルをそれ自体と結合するクエリ手法です。 これは一般的な正規化方法であり、単一の SQL ステートメント内で同じテーブルのデータの複数のインスタンスにアクセスできるようになります。

自己結合メカニズムを理解する

マネージャー ID を含む従業員の詳細を保持する「従業員」テーブルを想像してください。 自己結合は、従業員階層を反映するデータを効率的に取得します。

例: 従業員とマネージャーの関係

従業員 ID、名前、マネージャー ID を含む「従業員」テーブルがあると仮定しましょう。各従業員の名前をマネージャーの名前と一緒に表示するには、自己結合が理想的です:

<code class="language-sql">SELECT e1.Name AS EmployeeName, e2.Name AS ManagerName
FROM Employees e1
INNER JOIN Employees e2 ON e1.ManagerID = e2.EmployeeID;</code>

結果:

EmployeeName ManagerName
ABC XYZ
DEF ABC
XYZ NULL

この自己結合により、「従業員」テーブルに 2 回アクセスできるようになり、従業員とそれぞれのマネージャーが効果的にリンクされ、階層構造が明らかになります。 マネージャーがいない従業員には ManagerName に NULL が表示されることに注意してください。

以上が自己結合は単一テーブル内の階層データの取得にどのように役立ちますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。