下面是我创建的表的副本。我的目标是从第一张表中选择唯一的id_num
,这是第二张表中没有的。
我尝试过以下代码,但不知怎的,我一直得到空的结果
SELECT `first_table`.name FROM `first_table`
INNER JOIN `second_table`
ON `first_table`.id_num = `second_table`.id_num
WHERE `first_table`.name = `second_table`.name
第一张表:
id_num | name
301 | Bobby
123 | George
25 | Vicky
第二张表:
id_num | name
301 | Bobby
435 | George
25 | Vicky
我正在寻找的渴望结果:
id_num | name
435 | George
答案 0 :(得分:3)
LEFT JOIN
应该在这里工作。
SELECT `first_table`.name FROM `first_table`
LEFT JOIN `second_table`
ON `first_table`.id_num = `second_table`.id_num
WHERE `second_table`.id_num is NULL
另见这个有用的信息图
答案 1 :(得分:1)
使用NOT IN
select `id_num` , name from `table2` where name not in (
SELECT t1.name FROM `table1` t1
INNER JOIN `table2` t2
ON t1.id_num = t2.id_num )