ホームページ > データベース > mysql チュートリアル > MySQL で 3 つのテーブルを正しく LEFT JOIN する方法は?

MySQL で 3 つのテーブルを正しく LEFT JOIN する方法は?

Mary-Kate Olsen
リリース: 2024-12-26 01:25:09
オリジナル
298 人が閲覧しました

How to Correctly LEFT JOIN Three Tables in MySQL?

MySQL LEFT JOIN のマスター: 3 つのテーブルの接続

MySQL データベースで複数のテーブルを操作する場合、それらのテーブルを結合する方法を理解することが重要です効果的に。よくある課題の 1 つは、3 つ以上のテーブルのレコードをリンクすることです。

次の例を考えてみましょう。3 つのテーブル (persons、fears、および person_fear) があり、目的は、すべての人物と関連する恐怖 (または恐怖がないこと)。

間違った LEFT JOIN例

提供された最初のコードには、LEFT JOIN 条件にエラーが含まれています。行:

ON person_fear.personid = person_fear.fearid
ログイン後にコピー

誤って Person_Fear.PersonID を Person_Fear.FearID に結合しますが、これは意味がありません。

正しい LEFT JOIN 実装

正しくするにはテーブルを結合するには、条件を変更する必要がありますto:

ON Person_Fear.PersonID = Persons.PersonID
ログイン後にコピー

これにより、Person_Fear.personID が Persons テーブルの適切なフィールドにリンクされます。

代替の LEFT JOIN 構文

別の有効なアプローチ同じ LEFT JOIN に次のように使用します。構文:

LEFT JOIN Person_Fear ON Person_Fear.PersonID = Persons.PersonID
LEFT JOIN Fears ON Person_Fear.FearID = Fears.FearID
ログイン後にコピー

この構文は、Persons と Person_Fear の間の LEFT JOIN を明示的に指定し、その後に Person_Fear と Fears の間の別の LEFT JOIN を指定します。

結果のクエリ

これらの修正されたアプローチのいずれかを使用すると、クエリは次のようになります。 Persons テーブルからすべてのレコードを返します。これには、Person_Fear テーブルと Fears テーブルに関連付けられた恐怖が含まれていないレコードも含まれます。人ごとに、関連付けられた恐怖が表示されます。恐怖がリンクされていない場合は NULL が表示されます。

LEFT JOIN の適切な使用法を理解することで、複数のテーブルを効果的にクエリし、目的の結果を取得できます。 MySQL データベース内の複雑なデータ関係に対応します。

以上がMySQL で 3 つのテーブルを正しく LEFT JOIN する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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