考虑以下现实场景:
您有一个城镇表,但想要查找这些城镇各自的邮政编码。在大多数情况下,这很容易做到,因为每个城镇只有一个邮政编码,但在处理城市时确实存在例外情况。
你有两张桌子:
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
返回四行New York
。这显然是不可取的,因为该数据本质上是不准确的。
期望的结果如下:
Town | Zip
--------------+----
Ft Washington | 19034
Ambler | 19002
Media | 19063
Ambler | 19002
New York | NULL
实现这一目标的最佳方法是什么?