当我在SQL中执行except和union语句时,出现了奇怪的行为。
我有两个表:
Select * from #old
数据看起来像这样:
oid1 oid2 co
1 11 1
2 22 1
3 33 1
4 55 1
Select * from #new
nid1 nid2 co
1 11 3
2 22 1
3 33 1
4 44 1
4 55 1
这是我的最终查询。
Select * from #old
except
Select * from #new
union all
Select * from #new
except
Select * from #old
并提供这些记录
oid1 oid2 co
1 11 3
4 44 1
我有一个问题..第一个except从句中是否应该再加一行:
Select * from #old
except
Select * from #new
which is
oid1 oid2 co
1 11 1
最终查询结果不应该有3行吗?因为并非所有列都相同。