如何通过JOIN从另一个表中查找不存在的数据?

Bla*_*umi 6 mysql sql join anti-join

我有两个表TABLE1,它们看起来像:

id      name     address
1       mm     123
2       nn     143
Run Code Online (Sandbox Code Playgroud)

和TABLE2 w/c看起来像:

name     age
mm      6
oo      9
Run Code Online (Sandbox Code Playgroud)

我想通过比较来获得不存在的名称TABLE1TABLE2.

所以基本上,我必须得到第二行,w/c有一个不存在的NN名称,TABLE2输出应该如下所示:

id      name     address
2      nn      143
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它不起作用:

SELECt  w.* FROM TABLE1 W INNER JOIN TABLE2 V
  ON W.NAME <> V.NAME
Run Code Online (Sandbox Code Playgroud)

它仍然获得现有记录.

Bjo*_*ern 6

INNER JOIN这里没有帮助.

解决此问题的一种方法是使用LEFT JOIN:

SELECT w.* 
FROM TABLE1 W 
LEFT JOIN TABLE2 V ON W.name = V.name
WHERE ISNULL(V.name);
Run Code Online (Sandbox Code Playgroud)