如何从A表中选择B表中不存在的值?

vpp*_*ppy 2 mysql sql

我在mySQL DB中有2个表:A和B.

a,b,c列.

表A:

 a(1) = 1 
 a(2) = 2
 a(3) = 3
Run Code Online (Sandbox Code Playgroud)

表B:

 a(1) = 1 
 a(2) = 2
Run Code Online (Sandbox Code Playgroud)

所以,我们可以看到在B表中没有a = 3的行.我怎么能请求DB找到它?

所以响应(一行)可能看起来像:

a(1) = 3 
b(1) =..
c(1) =.. 
Run Code Online (Sandbox Code Playgroud)

Tim*_*sen 5

一种选择使用EXISTS:

SELECT a.a
FROM TableA a
WHERE NOT EXISTS (SELECT 1 FROM TableB b WHERE b.a = a.a);
Run Code Online (Sandbox Code Playgroud)

另一种选择是进行反加入:

SELECT a.a
FROM TableA a
LEFT JOIN TableB b
    ON a.a = b.a
WHERE b.a IS NULL;
Run Code Online (Sandbox Code Playgroud)