在mysql中选择唯一的id

时间:2013-10-13 10:32:10

标签: php mysql sql row

下面是我创建的表的副本。我的目标是从第一张表中选择唯一的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

2 个答案:

答案 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

另见这个有用的信息图

enter image description here

答案 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 )

DEMO HERE