ホームページ >データベース >mysql チュートリアル >3 番目のテーブルを使用して、直接の外部キー関係がないテーブルを結合するにはどうすればよいですか?

3 番目のテーブルを使用して、直接の外部キー関係がないテーブルを結合するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-15 18:21:48121ブラウズ

How Can I Join Tables Lacking Direct Foreign Key Relationships Using a Third Table?

リンクテーブルを介したテーブルの接続: SQL アプローチ

このガイドでは、3 番目の中間テーブルを使用して、直接の外部キー関係がないデータベース テーブルをリンクする方法について説明します。

1.外部キー制約を理解する

外部キーは、他のテーブルの主キーを参照することでデータの整合性を維持します。 有益ではありますが、テーブルを結合するために厳密に必要というわけではありません。

2.中間テーブルを使用したテーブルの結合

2 つのテーブルに外部キーの直接接続がない場合、両方のテーブルへの外部キーを含む中間テーブルがブリッジとして機能します。 Tree 外部キーを使用して Species テーブルを Tr_species テーブルに結合し、Tree 外部キーを介して ForestTr_forest テーブルにリンクすることで、これを説明します。

3.フィルタリングと並べ替えによる結果の絞り込み

テーブルを結合した後、WHERE 句と ORDER BY 句を使用して結果を絞り込むことができます。 ここでは、'ARCTIC' の場所をフィルターし、森林名と種名で並べ替えます:

<code>WHERE Fo_loc='ARCTIC'
ORDER BY Fo_name, Sp_name</code>

SQL クエリの例

次の SQL クエリは、完全なプロセスを示しています。

<code class="language-sql">SELECT Forest.Fo_name, Species.Sp_name, Species.Sp_woodtype
FROM Forest
INNER JOIN Tree
ON Forest.Fo_name = Tree.Tr_forest
INNER JOIN Species
ON Tree.Tr_species = Species.Sp_name
WHERE Fo_loc='ARCTIC'
ORDER BY Fo_name, Sp_name;</code>

概要

この手法は、中間テーブルを使用して、直接の外部キー関係なしでテーブルを結合できる方法を示しています。これは、複雑なデータ構造を処理する SQL の多用途性を強調し、外部キーは便利ではあるものの、テーブル結合には必須ではないことを示しています。

以上が3 番目のテーブルを使用して、直接の外部キー関係がないテーブルを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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