SQL - 比较两个表

时间:2014-06-24 22:25:34

标签: sql-server

我对SQL很陌生,但我得到了一项我需要完成的任务。

我有一张桌子,不时会有一张新桌子。我需要做的是将新的与旧的进行比较并查看所有差异(修改后的值,删除的行或添加的行)。在得到所有差异之后,我必须创建一个新表,它将是第一个的更新版本。

在阅读了一天关于SQL之后,我得到了除了EXCEPT,所以我知道如何发现差异(不确定它是不是最好的方式),但我不知道怎么做做所有的过程。

SELECT * FROM dbo.Price_List1
EXCEPT
SELECT * FROM dbo.Price_List2

非常感谢你。

1 个答案:

答案 0 :(得分:0)

如果dbo.Price_List1和dbo.Price_List2的架构相等。你可以使用以下查询。

(   SELECT * FROM dbo.Price_List1
    EXCEPT
    SELECT * FROM dbo.Price_List2)  
UNION ALL
(   SELECT * FROM dbo.Price_List2
    EXCEPT
    SELECT * FROM dbo.Price_List1)