sql >> Base de Datos >  >> RDS >> Sqlserver

T-SQL:comparación de dos tablas:registros que no existen en la segunda tabla

Puede usar el operador EXCEPTO para restar un conjunto de otro. Aquí hay una muestra de código usando tablas temporales EMPLOYEES y PEOPLE. Deberá usar los nombres de campo con el operador EXCEPT hasta donde yo sé.

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

La consulta final devolverá las dos filas de la tabla PERSONAS que no existen en la tabla EMPLEADOS.