Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

T-SQL:Сравняване на две таблици - Записи, които не съществуват във втората таблица

Можете да използвате оператора EXCEPT да извадите едно множество от друго. Ето примерен код, използващ временни таблици 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Събиране на данни за производителността с помощта на инструмента SQLDiag | Отстраняване на проблеми с производителността на SQL Server -6

  2. Как да добавите пореден номер за групи в SQL заявка без временни таблици

  3. Как да проверите съвместимостта на базата данни на SQL Server, след като sp_dbcmptlevel е остарял?

  4. Как да копирате данни от таблица от отдалечен сървър на локален сървър в SQL Server 2008

  5. За типа .NET DateTime, защо изведеният тип база данни е SqlDbTypes.DateTime вместо SqlDbTypes.DateTime2?