就職の面接で受けたこの質問を誰かが解決するのを手伝ってくれるかどうか疑問に思っています. 次のような 2 つのテーブルがあるとします。
table1 table2
------------ -------------
id | name id | name
------------ -------------
1 | alpha 1 | alpha
3 | charlie 3 | charlie
4 | delta 5 | echo
8 | hotel 7 | golf
9 | india
table1
問題は、どちらか一方またはtable2
両方にあるすべての行を返す SQL クエリを作成することでした。つまり、次のようになります。
result
------------
id | name
------------
4 | delta
5 | echo
7 | golf
8 | hotel
9 | india
完全な外部結合のようなことができると思いました:
SELECT table1.*, table2.*
FROM table1 FULL OUTER JOIN table2
ON table1.id=table2.id
WHERE table1.id IS NULL or table2.id IS NULL
しかし、SQL Fiddle で構文エラーが発生します (構文がサポートされていないと思いFULL OUTER JOIN
ます)。それ以外では、2 つのテーブルの行を連結する方法を見つけることさえできません。ましてや、両方に表示される行を除外することはできません。誰かが私を啓発し、これを行う方法を教えてもらえますか? ありがとう。