我有两个单列的A1和A2表。
A B
- -
1 3
2 4
3 5
4 6
我需要从A中选择不在B中的记录。为此,我尝试select A from [A1] as a left outer join A2 as c on a.[A]=c.[B]
,但它多次选择1
和2
,我只想要独特的结果, want 1 and 2 only
。引用了少量链接Outer join,但无法完全理解。我知道这是一个愚蠢的问题,但我是新的加入。
答案 0 :(得分:1)
not in
如果与Distinct
结合使用,那么您就没有获得任何重复
select Distinct A
from A1
where A not in (select B from A2)
答案 1 :(得分:0)
您的问题中的SQL请求通常应该给出1,2,3,4作为结果,下图显示了不同联接的工作方式:
因此,如果您只想显示A中但不包含在B中的记录,则为:
SELECT distinct A from A1 a LEFT JOIN B1 b
ON a.A = b.B
WHERE b.B is NULL
以下picture解释了有关不同联接及其SQL语法实现的更多信息: