Sql 为什么Access在联合后返回一个较小的表,而联合不应该添加任何行?
我正在测试一个在Access中定期更新表的过程,但我发现了一个我不理解的行为 我有我的主表,然后是第二个表,它是主表的子集,是对主表的模拟更新 Master-100000行 subMaster-500行这500行已经包含在Master中 查询:Sql 为什么Access在联合后返回一个较小的表,而联合不应该添加任何行?,sql,ms-access,Sql,Ms Access,我正在测试一个在Access中定期更新表的过程,但我发现了一个我不理解的行为 我有我的主表,然后是第二个表,它是主表的子集,是对主表的模拟更新 Master-100000行 subMaster-500行这500行已经包含在Master中 查询: SELECT field1, field2, field3 FROM Master UNION SELECT field1, field2, field3 FROM subMaster 返回
SELECT field1, field2, field3 FROM Master
UNION
SELECT field1, field2, field3 FROM subMaster
返回<100000行。从任一表中选择DISTINCT*不会删除任何行
如果这个查询的行为符合预期,我希望它返回100000行,因为subMaster中的每一行都包含在Master中,所以subMaster中的每一行都应该作为重复项排除。结果表怎么可能更短?有没有办法让它按我预期的方式工作?选择不同*与选择不同字段1、字段2、字段3不同
UNION删除表内和表之间的重复项。这三列在Master中显然是重复的