ホームページ  >  記事  >  データベース  >  mysqlの内部結合、左結合、右結合の違い

mysqlの内部結合、左結合、右結合の違い

下次还敢
下次还敢オリジナル
2024-04-29 04:00:36662ブラウズ

MySQL における内部結合、左結合、右結合の違いは次のとおりです。内部結合は両方のテーブルで一致する行のみを返しますが、左結合は一致する右テーブルの行を含む左テーブルのすべての行を返します。 join は、左側のテーブルの一致する行を含む、右側のテーブルのすべての行を返します。内部結合構文: SELECT * FROM table1 INNER JOIN table2 ON table1.column1 = table2.column2; 左結合構文: SELECT * FROM table1 LEFT JOIN table2 ON table1.column1 = table2.column2;

mysqlの内部結合、左結合、右結合の違い

#MySQL の内部結合、左結合、右結合の違い

INNER JOIN(INNER JOIN)

両方のテーブルに一致する行を持つレコードのみを返します。
  • 一致しないレコードは破棄されます。
LEFT JOIN

右側のテーブルに一致する行がない場合でも、左側のテーブルのすべてのレコードを返します。
  • 右側のテーブルに一致する行がないレコードには、NULL 値が入力されます。
RIGHT JOIN

左のテーブルに一致する行がない場合でも、右のテーブルのすべてのレコードを返します。
  • 左側のテーブルに一致する行がないレコードには、NULL 値が入力されます。
使用法

    内部結合:
  • 2 つのテーブル間で一致する行を持つレコードを検索し、一致しないレコードを破棄するために使用されます。
  • 左結合:
  • 左側のテーブル内のすべてのレコードを検索し、右側のテーブルに一致する行のレコードを含めるのに使用されます。
  • 右結合:
  • 右のテーブル内のすべてのレコードを検索し、左のテーブルに一致する行のレコードを含めるのに使用されます。
構文

  • 内部結合:

    <code class="sql">SELECT *
    FROM table1
    INNER JOIN table2
    ON table1.column1 = table2.column2;</code>

  • 左結合:

    <code class="sql">SELECT *
    FROM table1
    LEFT JOIN table2
    ON table1.column1 = table2.column2;</code>

  • 右結合:

    <code class="sql">SELECT *
    FROM table1
    RIGHT JOIN table2
    ON table1.column1 = table2.column2;</code>

次の 2 つのテーブルがあるとします。

<code>Table1:
| id | name |
|---|---|
| 1 | John |
| 2 | Mary |
| 3 | Bob |

Table2:
| id | address |
|---|---|
| 1 | 123 Main St |
| 2 | 456 Elm St |
| 4 | 789 Oak St |</code>

  • 内部結合:

    <code class="sql">SELECT *
    FROM Table1
    INNER JOIN Table2
    ON Table1.id = Table2.id;</code>
    結果:

id 12
name address
ジョン 123 メインストリート
メアリー 456 エルムストリート
  • 左結合:

    <code class="sql">SELECT *
    FROM Table1
    LEFT JOIN Table2
    ON Table1.id = Table2.id;</code>
    結果:

##idnameaddress##1JohnメアリーBob##右結合:
123 メイン ストリート 2
456 エルム ストリート 3
NULL
    <code class="sql">SELECT *
    FROM Table1
    RIGHT JOIN Table2
    ON Table1.id = Table2.id;</code>
  • 結果 :

  • id名前アドレス1John123 Main St2Mary456 Elm St4NULL789 オーク St

    以上がmysqlの内部結合、左結合、右結合の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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