ホームページ > データベース > mysql チュートリアル > MySQL における INNER、LEFT、RIGHT、および FULL 結合はどのように異なりますか?

MySQL における INNER、LEFT、RIGHT、および FULL 結合はどのように異なりますか?

Patricia Arquette
リリース: 2025-01-25 15:12:11
オリジナル
312 人が閲覧しました

How Do INNER, LEFT, RIGHT, and FULL Joins Differ in MySQL?

MySQL JOIN タイプの違いを深く理解する

MySQL の JOIN 句を使用すると、共通のフィールド値を一致させることで複数のテーブルのデータを結合できます。ユースケースに応じて、いくつかの JOIN タイプを使用できます:

INNER JOIN (内部接続)

INNER JOIN は、両方のテーブルに一致がある場合にのみ行を返します。交差集合演算を実行し、両方のテーブルに属するレコードを取得します。

LEFT JOIN (左結合)

LEFT JOIN は、右側のテーブルに一致する行があるかどうかに関係なく、左側のテーブルのすべての行を返します。右側のテーブルで欠落している一致を NULL 値で埋めます。

RIGHT JOIN (右結合)

RIGHT JOIN は LEFT JOIN に似ていますが、左側のテーブルのすべての行ではなく、右側のテーブルのすべての行を返します。同様に、NULL 値は、左側のテーブルで一致しないものを表すために使用されます。

FULL JOIN (完全接続)

FULL JOIN は、LEFT 外部結合と RIGHT 外部結合の結果を結合し、両方のテーブルのすべての行を返します。どちらのテーブルでも一致しない行には NULL 値が設定されます。

次のデータが含まれる 2 つのテーブル TableATableB について考えます。

<code>**TableA**
| id | firstName | lastName |
|---|---|---|
| 1 | arun | prasanth |
| 2 | ann | antony |
| 3 | sruthy | abc |

**TableB**
| id2 | age | Place |
|---|---|---|
| 1 | 24 | kerala |
| 2 | 24 | usa |
| 3 | 25 | ekm |
| 5 | 24 | chennai |</code>
ログイン後にコピー

内部結合の例

<code class="language-sql">SELECT *
FROM TableA
INNER JOIN TableB
ON TableA.id = TableB.id2;</code>
ログイン後にコピー

結果:

firstName lastName age Place
arun prasanth 24 kerala
ann antony 24 usa
sruthy abc 25 ekm

左結合の例

<code class="language-sql">SELECT *
FROM TableA
LEFT JOIN TableB
ON TableA.id = TableB.id2;</code>
ログイン後にコピー

結果:

firstName lastName age Place
arun prasanth 24 kerala
ann antony 24 usa
sruthy abc 25 ekm

右結合の例

<code class="language-sql">SELECT *
FROM TableA
RIGHT JOIN TableB
ON TableA.id = TableB.id2;</code>
ログイン後にコピー

結果:

FULL JOIN の例 (MySQL は直接 FULL JOIN をサポートしていないため、UNION を使用してシミュレートする必要があります)

MySQL は FULL JOIN を直接サポートしていません。FULL JOIN の効果をシミュレートするには、LEFT JOINRIGHT JOINUNION と組み合わせて使用​​する必要があります。

上記の例を通して、異なる JOIN タイプ間でのデータ結合の違いが明確にわかります。必要なデータを効率的に取得するには、適切な JOIN タイプを選択することが重要です。

以上がMySQL における INNER、LEFT、RIGHT、および FULL 結合はどのように異なりますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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