8

内部結合と外部結合の違いは何ですか? これら 2 種類の結合の正確な意味は何ですか?

4

7 に答える 7

23

Jeff Atwood の素晴らしい記事をチェックしてください。

SQL 結合の視覚的な説明

マルク

于 2009-11-26T14:42:02.540 に答える
4

ウィキペディアには、このトピックに関するすばらしい長い記事があります [こちら]( http://en.wikipedia.org/wiki/Join_(SQL))

しかし基本的に:

  • 内部結合は、すべてのテーブルの where 句を満たす行がある結果を返します
  • 外部結合は、少なくとも 1 つのテーブルに where 句を満たす行がある場合に結果を返します。
于 2009-11-26T14:41:25.147 に答える
2

INNER JOIN を使用して、一致する両方のテーブルからすべての行を返します。すなわち。結果のテーブルでは、すべての行と列に値が含まれます。

OUTER JOIN では、結果のテーブルに空の列が含まれる場合があります。外部結合は LEFT または RIGHT のいずれかです

LEFT OUTER JOIN は、2 番目のテーブルに一致するものがなくても、最初のテーブルからすべての行を返します。

RIGHT OUTER JOIN は、最初のテーブルに一致するものがなくても、2 番目のテーブルからすべての行を返します。

于 2009-11-26T14:42:33.367 に答える
0

数学セットを使用して、

Inner Join is A ^ B;
Outer Join is A - B.

つまり、(+)はクエリのA側です。

于 2009-11-26T15:26:57.410 に答える
0

INNER JOIN両方のテーブルに存在する行を返します

OUTER JOINいずれかのテーブルに存在するすべての行を返します

于 2009-11-26T14:41:02.137 に答える
0

内部結合は、レコードが両方のテーブルに表示される場合にのみ、結合された行を返します。方向に応じた外部結合では、1 つのテーブルのすべてのレコードが表示され、対応する行が存在する結合テーブルのデータに結合されます。

于 2009-11-26T14:43:19.493 に答える
-1

顧客と注文を含むスキーマの例を想定します。

  • INNER JOIN:注文のある顧客のみを取得します。

  • LEFT OUTER JOIN:注文の有無にかかわらず、すべての顧客を取得します。

  • RIGHT OUTER JOIN:一致する顧客レコードの有無にかかわらず、すべての注文を取得します。

もう少し詳細な情報については、内部および外部結合 SQL ステートメントを参照してください。

于 2009-11-26T14:43:03.253 に答える