自己結合: 包括的な概要
リレーショナル データベース管理では、自己結合は単一テーブル内のデータをクエリするための強力な手法です。 この方法を使用すると、同じテーブル内の行を接続し、効果的に 2 つの異なるデータセットとして扱うことができます。
自己結合のメカニズムを理解する
自己結合は、テーブルの構造内で明示的に定義されていない列または行間の関係を確立する場合に特に便利です。 従業員 ID、名前、スーパーバイザー ID を含む「従業員」テーブルについて考えてみましょう。 自己結合により、従業員と上司の情報を簡単に取得できます。
自己結合の例
サンプル データセットを使用してこれを調べてみましょう:
<code>Table: Employees | Id | Name | Supervisor_id | |---|---|---| | 1 | ABC | 3 | | 2 | DEF | 1 | | 3 | XYZ | 2 |</code>
各従業員の名前を上司の名前と一緒に表示するには、自己結合を使用します。
<code class="language-sql">SELECT e1.Name AS EmployeeName, e2.Name AS SupervisorName FROM Employees e1 INNER JOIN Employees e2 ON e1.Supervisor_id = e2.Id;</code>
このクエリは、「Employees」テーブルをそれ自体にリンクします。 e1
は従業員を表し、e2
は上司を表します。結合条件は、従業員の Supervisor_id
とスーパーバイザーの Id
を一致させます。
結果テーブル
クエリの出力は次のようになります:
<code>| EmployeeName | SupervisorName | |---|---| | ABC | XYZ | | DEF | ABC | | XYZ | DEF |</code>
これは、各従業員とそれに対応する上司を明確に示しています。
自己結合はデータ操作に非常に役立ち、複雑なクエリの作成を容易にし、データベースから貴重な洞察を明らかにします。
以上が自己結合は単一のデータベース テーブル内の関係をクエリするのにどのように役立ちますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。