Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

T-SQL:confronto di due tabelle:record che non esistono nella seconda tabella

È possibile utilizzare l'operatore EXCEPT per sottrarre un insieme da un altro. Ecco un esempio di codice che utilizza le tabelle temporanee EMPLOYEES e PEOPLE. Per quanto ne so, dovrai utilizzare i nomi dei campi con l'operatore 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

La query finale restituirà le due righe nella tabella PEOPLE che non esistono nella tabella EMPLOYEE.