ホームページ >データベース >mysql チュートリアル >中間テーブルを使用して外部キーなしでテーブルを結合するにはどうすればよいですか?
リレーショナル データベースでは、多くの場合、さまざまなソースからのデータを結合するためにテーブルを結合する必要があります。 通常、外部キーによってこれらの関係が定義されますが、常にそうであるとは限りません。 このガイドでは、3 番目の中間テーブルを使用してテーブルを間接的に結合する方法について説明します。
Forests
、Species
、Trees
の 3 つのテーブルを想像してください。 Forests
はフォレストの名前と場所を保存します。 Species
には樹種と木材の種類がリストされています。 Trees
は、その種やそれらが生息する森林など、個々の木の詳細を説明します。
目的は、共有するツリーに基づいて Forests
と Species
を結合することです。 ただし、Forests
と Species
の間には直接の外部キー リンクはありません。 代わりに、Trees
はブリッジとして機能し、Forests
と Species
の両方を参照する外部キーを含みます。
テーブルを中間リンクとして使用することにあります。 Trees
を介して Forests
と Species
を結合することで、間接的に望ましい関係を作成します。Trees
<code class="language-sql">SELECT Forests.Fo_name, Species.Sp_name, Species.Sp_woodtype FROM Forests INNER JOIN Trees ON Forests.Fo_name = Trees.Tr_forest INNER JOIN Species ON Trees.Tr_species = Species.Sp_name WHERE Forests.Fo_loc = 'ARTIC' ORDER BY Forests.Fo_name, Species.Sp_name;</code>このクエリの手順:
INNER JOIN
と Forests
を接続します。Trees
INNER JOIN
と Trees
をリンクします。Species
WHERE
ORDER BY
以上が中間テーブルを使用して外部キーなしでテーブルを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。