#MySQL の内部結合、左結合、右結合の違いMySQL における内部結合、左結合、右結合の違いは次のとおりです。内部結合は両方のテーブルで一致する行のみを返しますが、左結合は一致する右テーブルの行を含む左テーブルのすべての行を返します。 join は、左側のテーブルの一致する行を含む、右側のテーブルのすべての行を返します。内部結合構文: SELECT * FROM table1 INNER JOIN table2 ON table1.column1 = table2.column2; 左結合構文: SELECT * FROM table1 LEFT JOIN table2 ON table1.column1 = table2.column2;
INNER JOIN(INNER JOIN)
両方のテーブルに一致する行を持つレコードのみを返します。
右側のテーブルに一致する行がない場合でも、左側のテーブルのすべてのレコードを返します。
左のテーブルに一致する行がない場合でも、右のテーブルのすべてのレコードを返します。
<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>
結果:
name | address | |
---|---|---|
ジョン | 123 メインストリート | |
メアリー | 456 エルムストリート |
<code class="sql">SELECT *
FROM Table1
LEFT JOIN Table2
ON Table1.id = Table2.id;</code>
結果:
address | ||
---|---|---|
123 メイン ストリート | 2 | |
456 エルム ストリート | 3 | |
NULL |
<code class="sql">SELECT * FROM Table1 RIGHT JOIN Table2 ON Table1.id = Table2.id;</code>
1 | ||
---|---|---|
2 | Mary | |
4 | NULL | |
以上がmysqlの内部結合、左結合、右結合の違いの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。