誰かが次の違いを説明できますか:
SELECT name
FROM a.table
LEFT OUTER JOIN b.table
ON a.key = b.key;
と
SELECT name
FROM a.table;
いずれにせよ、どちらもテーブル a.table のすべての名前を返すため、違いはありません。
誰かが次の違いを説明できますか:
SELECT name
FROM a.table
LEFT OUTER JOIN b.table
ON a.key = b.key;
と
SELECT name
FROM a.table;
いずれにせよ、どちらもテーブル a.table のすべての名前を返すため、違いはありません。
name
のキーに複数の一致がある場合、結合を含むクエリは の重複したコピーを返しますb
。
2 つのクエリは同じではありません。
テーブル A とテーブル B の関係が 1 対 1 の場合、つまり、テーブル B の「キー」も主キーであり、したがってテーブル「A」のように一意である場合、この 2 つは等しくなります。
表 A:
Key Name
---- --------------
1 George
2 Lisa
3 Bill
表 B:
Key
----
1
3
最初のクエリを使用した結果は次のようになり、2 番目のクエリと同じになります。
Name
-------
George
Lisa
Bill
ただし、関係が 1 対多の場合、つまり、テーブル A の 1 つのレコードがテーブル B に 1 つ以上の関連レコードを持つ可能性があります。つまり、テーブル B の「キー」は外部キーであり、2 つが等しくないことを意味します。 .
表 B:
Key
----
1
2
3
1
3
最初のクエリを使用した結果は次のようになります。
Name
-------
George
George
Lisa
Bill
Bill