ホームページ > データベース > mysql チュートリアル > 内側vs.アウターがSQLに参加します:違いは何ですか?

内側vs.アウターがSQLに参加します:違いは何ですか?

Linda Hamilton
リリース: 2025-01-25 17:33:11
オリジナル
776 人が閲覧しました

Inner vs. Outer Joins in SQL: What's the Difference?

内部結合と外部結合の解剖学

SQL 結合はデータセットを結合するための強力なメカニズムを提供しますが、内部結合と外部結合の間の微妙な違いは謎が多い場合があります。この記事では、それらの独特の特徴を詳しく掘り下げ、これらの結合タイプを包括的に理解できるようにします。

内部結合: ベン図の交差

内部結合は、名前が示すように、 2 つのテーブル A と B の間の共通点。結合条件で一致する値を共有する行を取得します。 A と B が円を表すベン図を想像してください。内部結合は、円の重なり合う部分内にあるデータを提供します。

外部結合: ベン図を結合する

内部結合とは対照的に結合、外部結合には、関係するテーブルの結合が含まれます。他のテーブルに一致する行があるかどうかに関係なく、少なくとも 1 つのテーブルからすべての行を取得しようとします。結果として得られるデータセットは、ベン図の重複部分と非重複部分でカバーされる領域全体に似ています。

外部結合のバリエーション: LEFT、RIGHT、および FULL

の概念をさらに洗練するには外部結合では、SQL には次の 3 つのバリアントがあります:

  • 左外部join: この結合では、左側のテーブル (A) からのすべての行の取得が優先されます。右側のテーブル (B) で一致が見つからない場合は、NULL 値を使用して空のスペースを表します。
  • 右外部結合: 左外部結合と似ていますが、この結合は左外部結合よりも優先されます。右側のテーブル (B)、左側のテーブル (A) の一致しない行に null を埋めます。
  • 完全な外側join: この結合は両方のテーブルのすべての行を包含し、A または B のいずれかで一致しない行については null を使用します。

例で説明します

理解を深めるため2 つのテーブル A と B があり、それぞれに 1 つのテーブルがある例を考えてみましょう。列:

A B
1 3
2 4
3 5
4 6

内部結合:

SELECT * FROM A INNER JOIN B ON A.A = B.B;
ログイン後にコピー
ログイン後にコピー

出力:

A B
3 3
4 4

左外部結合:

SELECT * FROM A LEFT OUTER JOIN B ON A.A = B.B;
ログイン後にコピー

出力:

A B
1 null
2 null
3 3
4 4

右外部結合:

SELECT * FROM A RIGHT OUTER JOIN B ON A.A = B.B;
ログイン後にコピー

出力:

A B
3 3
4 4
null 5
null 6

完全な外側の結合:

SELECT * FROM A INNER JOIN B ON A.A = B.B;
ログイン後にコピー
ログイン後にコピー

出力:
A B
1 null
2 null
3 3
4 4
null 5
null 6

さまざまなタイプの結合とそのユースケースを理解することは、効果的に抽出して組み合わせるために重要です。さまざまなソースからのデータ。次回データベースを使用するときは、内側と外側の結合の区別を覚えておき、正確で有益なクエリを作成するために力を活用してください。

以上が内側vs.アウターがSQLに参加します:違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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