2

私はいくつかのコードを理解しようとしており、このクエリで "ON" 演算子が使用されていることを確認しています (SQL サーバーを使用)。

SELECT A.*, B.UID
FROM Table1 A Left Outer Join
(SELECT ID FROM Table2) AS B ON A.ID= B.ID
...

このオペレーターは正確に何をしますか?

4

4 に答える 4

5

ONJOINあるテーブルから別のテーブルへのレコードを照合できる1 つ以上の条件を表します。

結合が視覚的にどのように機能するかを理解するには、以下をお読みください -

于 2013-06-06T14:48:01.580 に答える
3

これは演算子ではありません -句の一部JOINである aの一部ですFROM

これは句に非常に似ていWHEREますが、2 つのテーブル (または行セット) の結合をフィルター処理することのみを目的としています。

この場合、 と の行が一致する条件AですB。句に同じ条件がある場合WHERE、結合に影響します。LEFT JOIN(ここでは) 一致する行を見つけることができませんが、その行を結果にB貢献します ( s 列はです)。同じ条件を に配置すると、結合がではなく になります。ABNULLWHEREINNER JOINLEFT JOIN

于 2013-06-06T14:22:03.223 に答える
2

JOIN ステートメントでインライン クエリ(SELECT ID FROM Table2)を使用すると、混乱するだけです。クエリは次のように記述できます。

SELECT A.*, B.UID
FROM Table1 A Left Outer Join Table2 B
ON A.ID = B.ID
于 2013-06-06T14:24:07.557 に答える
1

を強制するために、フィールド間の関連付けを示しますJOIN

于 2013-06-06T14:23:41.607 に答える