使用join检索非匹配记录

Gya*_*yan 2 sql-server

我有两张桌子,桌子A和桌子B.

两者都有4个匹配记录,表A包含6个不匹配的记录.

在加入的帮助下如何检索不匹配的记录?

Mik*_*son 5

你可以使用left outer join和测试B.ID is null.此示例将在SQL Server 2008中运行,但查询在此之前的版本中运行.

declare @TableA table (ID int)
declare @TableB table (ID int)

insert into @TableA values (1),(2),(3),(4),(5),(6),(7),(8),(9),(10)
insert into @TableB values (1),(2),(3),(4)

select A.*
from @TableA as A
  left outer join @TableB as B
    on A.ID = B.ID
where B.ID is null
Run Code Online (Sandbox Code Playgroud)

结果:

ID
--
5
6
7
8
9
10
Run Code Online (Sandbox Code Playgroud)