1
我想从表A中选择不符合以下查询的数据。 换句话说,我希望除表格A以外的所有内容除了以下记录。我假设它是一个左连接,但我收到比预期更多的匹配。SQL左外连接vs内连接不等于
SELECT distinct
a.Address_Direction,
a.Address_Extension,
a.Address_Number,
a.Address_Root,
a. PHY_ADDR1,
b.PHY_ADDR1
FROM [RD_GeoCode].[dbo].[PA_Stg_Test2] AS a
inner JOIN [RD_GeoCode].[dbo].[rg_ApplicationData_AllForms_20160401_address] AS b ON
B.address_direction = a.address_direction
and B.address_root = a.address_root
and B.address_number = a.address_number
and B.Address_Extension = a.Address_Extension
and b.PHY_ZIPCD = a.PHY_ZIPCD
要添加到:确保选择“AnyField”不能为空如果有匹配;通常通过选择主键字段或其他一些定义为NOT NULL的列。 – Uueerdo
我在表A中有293K行,在表B中有700万行。内部连接符合233k。但是这个搜索结果超过了30万。我只想看看剩下的60k。 – ObiWanCannoli
您在B表中使用的字段必须为空值。看到我更新的答案。如果B中的这个列没有空值,那么不可能获得超过60k的值。 –