如何比较表的整行与另一个表的整行

时间:2011-08-11 10:09:07

标签: sql-server-2008

SQL Server中是否有一种方法可以将一个表的整行与另一个具有相同数据类型的表进行比较。

示例:

CREATE TABLE [DBO].[PRODUCT]
  (
     [PID]  [INT] NULL,
     [NAME] [NCHAR](10) NULL,
     [PDID] [INT] NULL
  )

select * from product p, product c where p.{entirerow} = c.{entirerow}

这里有什么选择吗?

1 个答案:

答案 0 :(得分:13)

使用SQL INTERSECT(所有匹配的行)和EXCEPT(所有不同的行),here for example

SELECT * FROM Table1 INTERSECT SELECT * FROM Table2
SELECT * FROM Table1 EXCEPT SELECT * FROM Table2

您可以通过使用WHERE子句将*替换为列列或行的子集来比较列的子集。

需要注意的是,表格的模式必须相同。