结果二加入SQL Server

时间:2017-05-22 15:32:54

标签: sql sql-server join

我昨天参加了一次采访,他们问了一个问题,加入一个表demo1,其中有一个值为A,B,C,D的表另一个表Demo2,它有值C,D。我希望结果C,D使用加入。

我们如何做到这一点?我试过,但无法找到解决方案。

Create table Demo1(ID char(1))
Insert into Demo1
select 'A'
Insert into Demo1
select 'B'
Insert into Demo1
select 'C'
Insert into Demo1
select 'D'

Create table Demo2(ID char(1))
Insert into Demo2
select 'A'
Insert into Demo2
select 'B'

3 个答案:

答案 0 :(得分:1)

一旦简单的方法是通过LEFT JOIN

Select D1.*
 From  Demo1 D1
 Left  Join Demo2 D2 on D1.ID=D2.ID
 Where D2.ID is null

<强>返回

ID
C
D

答案 1 :(得分:0)

如果您想使用常用值

SELECT * FROM Demo1 INNER JOIN Demo2 ON Demo1.ID = Demo2.ID 

如果你想要A中没有B的值

SELECT * FROM Demo1 FULL OUTER JOIN Demo2 ON Demo1.ID = Demo2.ID WHERE demo2.ID IS NULL

答案 2 :(得分:0)

Inner Join返回两个表中存在的记录。

SELECT * FROM Demo1 INNER JOIN Demo2 ON Demo1.ID = Demo2.ID 
Result:
C
D

Outter Join将Demo1中的所有记录与Demo 2中存在的记录一起返回。

SELECT D1.ID as D1, D2.ID as D2 FROM Demo1 D1 FULL OUTER JOIN  Demo2 D2 ON D1.ID = D2.ID  
Result:
A, NULL
B, NULL
C, C
D, D