SQL:内连接的加入

问题描述 投票:-1回答:2

我是SQL的初学者。我有3个表(A,B和C),我想只提取属于B或C的A部分。

这是我想要提取的图像(红色):enter image description here

我知道A和C之间的交集是通过以下方式获得的:

A inner join C on #the keys

在A和B之间:

A inner join B on #the keys

我的问题是:如何加入/添加这两个内连接?

sql join
2个回答
0
投票

我会用exists

select . . . 
from a
where exists (select 1 from b where b.? = a.?) or
      exists (select 1 from c where b.? = a.?);

如果您想要所有表中的列,请使用left join并使用where子句:

select . . .
from a left join
     b
     on . . . left join
     c
     on . . .
where c.? is not null or b.? is not null;

-1
投票

我终于找到了如何做到这一点......它非常简单快捷:

SELECT ... FROM A
INNER JOIN B ON ....

UNION

SELECT ... FROM A 
INNER JOIN C ON ....
© www.soinside.com 2019 - 2024. All rights reserved.