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 サイトの他の関連記事を参照してください。