ホームページ >データベース >mysql チュートリアル >自己結合は単一テーブル内の階層データの取得にどのように役立ちますか?
自己結合: 簡潔な概要
データベース管理における自己結合は、テーブルをそれ自体と結合するクエリ手法です。 これは一般的な正規化方法であり、単一の 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 サイトの他の関連記事を参照してください。