我制作了一个脚本,它从交换机端口获取 mac 地址并将它们放入数据库中。我将它插入到导入表中,稍后将复制到实际表中。一切都很好。现在我正在编写查询以查找哪些 mac 地址是新的。所以,我需要导入表中不在目标表中的行。左外连接是有意义的:
select *
from SwitchportMac_import i
left outer join SwitchportMac sm
on sm.switch = i.switch and sm.port = i.port and sm.mac = i.mac
Run Code Online (Sandbox Code Playgroud)
这也返回i
匹配 in 的行sm
。当然,我可以添加一个,where sm.id is null
但我大吃一惊。
所以要么:
如果是第一个,我会转储 DDL 并弄清楚,但我害怕这是第二个。是否存在外部关键字只是为了让我感到困惑?