我有两个表,我试图选择这些表之间的公共字段完全匹配的行,但是事实证明很难编写查询。这是一个简化版本:
表格如下所示(简化):
T1: id、姓名、sn T2: id,位置,sn
我试图仅在 t1.sn=t2.sn 的情况下将 t1.name 和 t2.loc 放在一起。sn 字段在两者中都是唯一的,因此表之间最多只有 1 条记录匹配。在 t1 中,所有记录都有一个 sn 字段值,但是在 t2 中,大约 30% 的记录的 sn 为 NULL。因此,我期望连接产生的行数比 t1 少一些。
我将如何加入?
谢谢。
样本数据:
t1: +---+--------+-------+-----+ | 编号| 姓名 | 锡 | ... | +---+--------+-------+-----+ | 1 | 东西1 | 12345 | | | 2 | 东西2 | 10000 | | | 3 | 事情3 | 33445 | | | 4 | 东西4 | 99223 | | +---+--------+-------+-----+ T2: +----+--------+--------+-----+ | 编号 | 位置 | 锡 | ... | +----+--------+--------+-----+ | 90 | 这里 | 12345 | | | 92 | 那里| 空 | | | 96 | 附近 | 33445 | | | 99 | 远| 99223 | | +----+--------+--------+-----+ 结果: +--------+-------+--------+ | 姓名 | 位置 | 锡 | +--------+-------+--------+ | 东西1 | 这里 | 12345 | | 事情3 | 附近 | 33445 | | 东西4 | 远| 99223 | +--------+-------+--------+