ホームページ > データベース > mysql チュートリアル > SQL の自己結合により、単一のテーブルを複数のテーブルとしてクエリできるようになりますか?

SQL の自己結合により、単一のテーブルを複数のテーブルとしてクエリできるようになりますか?

Linda Hamilton
リリース: 2025-01-14 12:31:43
オリジナル
587 人が閲覧しました

How Do Self-Joins in SQL Allow You to Query a Single Table as Multiple Tables?

SQL 自己結合についての深い理解

SQL 自己結合はデータベース クエリの基本概念であり、2 つの独立したテーブルを操作するのと同じように、同じテーブルを複数回クエリできるようになります。

セルフコネクションの定義

自己結合は、同じテーブルのエイリアスを作成することで機能し、それを 2 つの異なるテーブルとして扱うことができます。自己結合は、個別の物理コピーを作成せずに、複数のテーブルの存在をシミュレートします。

自己接続例

次の従業員テーブルについて考えてみましょう:

<code>表 emp1
Id  姓名  主管Id
1   ABC   3
2   DEF   1
3   XYZ   2</code>
ログイン後にコピー

各従業員の名前とその上司の名前を取得するには、次の自己結合クエリを実行します。

<code>select c1.姓名, c2.姓名 As 主管
from emp1 c1
join emp1 c2 on c1.主管Id = c2.Id</code>
ログイン後にコピー

出力結果:

<code>姓名  主管
ABC   XYZ
DEF   ABC
XYZ   DEF</code>
ログイン後にコピー

このクエリでは、エイリアス c1 を emp1 テーブルのプライマリ インスタンスに割り当て、エイリアス c2 を「2 番目」のインスタンスを表すエイリアスに割り当てます。結合条件は、c1 の supervisorId と c2 の ID を一致させます。これにより、c1 から各従業員の名前を取得し、c2 から上司の名前を取得できるようになります。

以上がSQL の自己結合により、単一のテーブルを複数のテーブルとしてクエリできるようになりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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