sql比较来自同一个表的两个唯一行

时间:2014-06-27 15:47:53

标签: sql

我希望这是一个直截了当的问题,但我无法弄清楚它的语法。

我只需要查找" ID"也存在于" ID2"中,我们可以说这些表叫做#34;老师"

ID-ID2
10-1
11-2
12-13
13-4

唯一匹配的是第4行,因为13也存在于id2中,所以我需要用select查询来解决这个问题,有人可以建议吗?谢谢。

嗨,除此之外,我还有一个名为staff的第二个表,其中包含以下设置

ID-Name
1-smith
2-jones
3-bruce

其中ID与教师表中的ID相同,我想我需要在这里加入他们,但我不知道如何处理第二个表中的ID。我需要从第二个表中获得的唯一信息是名称,因此笛卡尔积只应如上所述,只需从表1中完成处理。提前感谢

废弃,解决了它,谢谢

3 个答案:

答案 0 :(得分:2)

这是你想要的吗?

select t.*
from teacher t
where exists (select 1 from teacher t2 where t2.id = t.id2);

答案 1 :(得分:0)

select *
from teacher
where id in (select distinct id2 from teacher)

select t1.*
from teacher t1
join teacher t2 on t1.id = t2.id2

答案 2 :(得分:0)

select t1.* 
from teacher as t1 ,teacher as t2 
where t1.ID = t2.ID2 and t1.ID > t2.ID2