Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

T-SQL:Vergleichen zweier Tabellen - Datensätze, die in der zweiten Tabelle nicht vorhanden sind

Sie können den EXCEPT-Operator verwenden einen Satz von einem anderen subtrahieren. Hier ist ein Codebeispiel, das die temporären Tabellen EMPLOYEES und PEOPLE verwendet. Soweit ich weiß, müssen Sie die Feldnamen mit dem EXCEPT-Operator verwenden.

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

Die letzte Abfrage gibt die beiden Zeilen in der PEOPLE-Tabelle zurück, die in der EMPLOYEE-Tabelle nicht vorhanden sind.