次の現実的なシナリオを検討してください。
町のテーブルがありますが、それらの町のそれぞれの郵便番号を検索したいと考えています。ほとんどの場合、町ごとに 1 つの郵便番号しかないため、これは簡単に実行できますが、都市を扱う場合は例外が適用されます。
次の 2 つのテーブルがあります。
CONTACT
Town | Zip
--------------+----
Ft Washington | NULL
Ambler | NULL
Media | NULL
Ambler | NULL
New York | NULL
CITIES_EXTENDED
Town | Zip
--------------+----
Ft Washington | 19034
Ambler | 19002
Media | 19063
New York | 10101
New York | 10102
New York | 10103
New York | 10104
に対してINNER JOIN
4 行が返されますNew York
。そのデータは本質的に不正確であるため、これは明らかに望ましくありません。
望ましい結果は次のとおりです。
Town | Zip
--------------+----
Ft Washington | 19034
Ambler | 19002
Media | 19063
Ambler | 19002
New York | NULL
この目標を達成する最善の方法は何ですか?