2009-11-26 25 views

答えて

23

チェックアウトの少なくとも一つのジェフ・アトウッドの優れた中でwhere句を満たす行がある結果を返す加入:

A Visual Explanation of SQL Joins

マルク・

+0

外部結合:KISSを表示します。 –

+0

すごい!ありがとう! – freenight

+0

イメージが壊れています... – lsh

0

INNER JOIN返す行

OUTER JOIN戻り

+0

内部結合は、両方のテーブルに結合条件が存在する場合、両方のテーブルから値を返します。 –

4

ウィキペディアは[こちら]トピック(http://en.wikipedia.org/wiki/Join_(SQL))

しかし、基本的に素敵な長い記事を持っているいずれかのテーブルに存在するすべての行:

  • 内部ジョインは、ALLのwhere句を満たすローがある場合に結果を返しますテーブル
  • 外側には、テーブル
2

をINNER JOINを使用して、一致する部分がある両方の表のすべての行を戻します。すなわち、結果の表にはすべての行と列に値があります。

OUTER JOINでは、結果の表に空の列が含まれることがあります。外部結合はLEFTまたはRIGHTのいずれかです。

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

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

-1

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

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

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

  • RIGHT OUTER JOIN:一致する顧客レコードの有無にかかわらずすべての注文を取得します。もう少し詳細に関する情報について

Inner and Outer Join SQL Statements

0

インナー参照レコードは、両方のテーブルに表示された場合にのみ接合された行を返す加入。 外は方向に応じて参加し、1つのテーブルからすべてのレコードを表示し、そこからデータに参加し、対応する行は、数学的なセットを使用して

0

が存在するテーブルに入社し、

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

だから、(+)で、あなたのですクエリの中の一側。