How to find non-existing data from another Table by JOIN?(如何通过JOIN从另一个表中查找不存在的数据?)
问题描述
我有两个表 TABLE1,它看起来像:
I have two tables TABLE1 which looks like:
id name address
1 mm 123
2 nn 143
和 TABLE2 w/c 看起来像:
and TABLE2 w/c looks like:
name age
mm 6
oo 9
我想通过比较 TABLE1 和 TABLE2 来获取不存在的名称.
I want to get the non existing names by comparing the TABLE1 with the TABLE2.
所以基本上,我必须得到第二行,w/c 有一个在 TABLE2 中不存在的 NN 名称,输出应如下所示:
So basically, I have to get the 2nd row, w/c has a NN name that doesn't exist in the TABLE2, the output should look like this:
id name address
2 nn 143
我试过了,但没有用:
SELECt w.* FROM TABLE1 W INNER JOIN TABLE2 V
ON W.NAME <> V.NAME
它仍在获取现有记录.
推荐答案
INNER JOIN 在这里没有帮助.
解决这个问题的一种方法是使用LEFT JOIN:
One way to solve this is by using a LEFT JOIN:
SELECT w.*
FROM TABLE1 W
LEFT JOIN TABLE2 V ON W.name = V.name
WHERE ISNULL(V.name);
这篇关于如何通过JOIN从另一个表中查找不存在的数据?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:如何通过JOIN从另一个表中查找不存在的数据?
基础教程推荐
- oracle区分大小写的原因? 2021-01-01
- mysql选择动态行值作为列名,另一列作为值 2021-01-01
- 如何在 SQL 中将 Float 转换为 Varchar 2021-01-01
- 如何根据该 XML 中的值更新 SQL 中的 XML 2021-01-01
- 表 './mysql/proc' 被标记为崩溃,应该修复 2022-01-01
- MySQL 中的类型:BigInt(20) 与 Int(20) 2021-01-01
- 什么是 orradiag_<user>文件夹? 2022-01-01
- 在 MySQL 中:如何将表名作为存储过程和/或函数参数传递? 2021-01-01
- 二进制文件到 SQL 数据库 Apache Camel 2021-01-01
- 在多列上分布任意行 2021-01-01
