ホームページ >データベース >mysql チュートリアル >MySQL の JOIN のデフォルトは LEFT JOIN ですか?
データベース クエリを構築するときは、JOIN と LEFT JOIN の基本的な違いを理解することが重要です。
提供されたクエリで、INNER JOIN を LEFT に置き換えるときに問題が発生しました。結合します。ここで疑問が生じます: 指定されたタイプのない JOIN はデフォルトで LEFT JOIN になると想定されていますか?
いいえ、そうではありません。
デフォルトでは、MySQL INNER JOIN を実行します。これには、両方のテーブルで一致する行のみが含まれます。対照的に、LEFT JOIN は、右側のテーブルに対応する一致がない場合でも、左側のテーブル (この場合は DM_Server.Jobs) のすべての行を保持します。
この違いについて、次のことを考えてみましょう:
より包括的なビジュアルについては説明:
内部結合:
Jobs Servers | Jobs_ID | ServerID | |---------|----------| | 1 | 2 | | 2 | 3 | **Result:** | Jobs_ID | ServerID | Description | |---------|----------|------------| | 1 | 2 | Description | | 2 | 3 | Description |
左結合:
Jobs Servers | Jobs_ID | ServerID | |---------|----------| | 1 | 2 | | 2 | 3 | | 3 | NULL | **Result:** | Jobs_ID | ServerID | Description | |---------|----------|------------| | 1 | 2 | Description | | 2 | 3 | Description | | 3 | NULL | NULL |
この区別を理解することで、意図した結合タイプに基づいてクエリで目的の行を確実に取得できます。
以上がMySQL の JOIN のデフォルトは LEFT JOIN ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。