If UNION ALL
is an addition在 T-SQL 中。减法相当于什么?
例如,如果我有一张桌子PEOPLE
和一张桌子EMPLOYEES
。我知道如果我删除EMPLOYEES
记录来自PEOPLE
我将留在我的公司CONTRACTORS
.
有没有一种方法可以做到这一点类似于UNION ALL
?我不必指定任何字段名称的一种?我问的原因是这只是一个假设的例子。我需要对许多不同的表执行多次此操作。假设架构EMPLOYEES
and PEOPLE
是相同的。
您可以使用运营商除外从一组中减去另一组。以下是使用 EMPLOYEES 和 PEOPLE 临时表的代码示例。据我所知,您需要将字段名称与 EXCEPT 运算符一起使用。
CREATE TABLE #PEOPLE
(ID INTEGER,
Name NVARCHAR(50))
CREATE TABLE #EMPLOYEE
(ID INTEGER,
Name NVARCHAR(50))
GO
INSERT #PEOPLE VALUES (1, 'Bob')
INSERT #PEOPLE VALUES (2, 'Steve')
INSERT #PEOPLE VALUES (3, 'Jim')
INSERT #EMPLOYEE VALUES (1, 'Bob')
GO
SELECT ID, Name
FROM #PEOPLE
EXCEPT
SELECT ID, Name
FROM #EMPLOYEE
GO
最终查询将返回 PEOPLE 表中 EMPLOYEE 表中不存在的两行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)