私はいくつかのコードを理解しようとしており、このクエリで "ON" 演算子が使用されていることを確認しています (SQL サーバーを使用)。
SELECT A.*, B.UID
FROM Table1 A Left Outer Join
(SELECT ID FROM Table2) AS B ON A.ID= B.ID
...
このオペレーターは正確に何をしますか?
私はいくつかのコードを理解しようとしており、このクエリで "ON" 演算子が使用されていることを確認しています (SQL サーバーを使用)。
SELECT A.*, B.UID
FROM Table1 A Left Outer Join
(SELECT ID FROM Table2) AS B ON A.ID= B.ID
...
このオペレーターは正確に何をしますか?
ON
JOIN
あるテーブルから別のテーブルへのレコードを照合できる1 つ以上の条件を表します。
結合が視覚的にどのように機能するかを理解するには、以下をお読みください -
これは演算子ではありません -句の一部JOIN
である aの一部ですFROM
これは句に非常に似ていWHERE
ますが、2 つのテーブル (または行セット) の結合をフィルター処理することのみを目的としています。
この場合、 と の行が一致する条件A
ですB
。句に同じ条件がある場合WHERE
、結合に影響します。LEFT JOIN
(ここでは) 一致する行を見つけることができませんが、その行を結果にB
貢献します ( s 列はです)。同じ条件を に配置すると、結合がではなく になります。A
B
NULL
WHERE
INNER JOIN
LEFT JOIN
JOIN ステートメントでインライン クエリ(SELECT ID FROM Table2)を使用すると、混乱するだけです。クエリは次のように記述できます。
SELECT A.*, B.UID
FROM Table1 A Left Outer Join Table2 B
ON A.ID = B.ID
を強制するために、フィールド間の関連付けを示しますJOIN
。