sql比较同一表中的两个唯一行

sql比较同一表中的两个唯一行,sql,Sql,我希望这是一个直截了当的问题,但我无法找出它的语法 我只需要找出“ID”中的一个值是否也存在于“ID2”中,比如称为“teacher”的表 唯一匹配的是第4行,因为第13行也存在于id2中,所以我需要通过select查询将其提取出来,有人可以建议吗?谢谢 嗨,在这上面,我有第二张桌子叫staff,设置如下 ID-Name 1-smith 2-jones 3-bruce 其中ID与教师表中的ID相同,我想我需要在这里加入它们,但我不确定如何处理第二个表中的ID。我需要从第二个表中得到的唯一信息是

我希望这是一个直截了当的问题,但我无法找出它的语法

我只需要找出“ID”中的一个值是否也存在于“ID2”中,比如称为“teacher”的表

唯一匹配的是第4行,因为第13行也存在于id2中,所以我需要通过select查询将其提取出来,有人可以建议吗?谢谢

嗨,在这上面,我有第二张桌子叫staff,设置如下

ID-Name
1-smith
2-jones
3-bruce
其中ID与教师表中的ID相同,我想我需要在这里加入它们,但我不确定如何处理第二个表中的ID。我需要从第二个表中得到的唯一信息是名称,因此笛卡尔积应该与上面的一样,只需要从表1中进行处理。提前谢谢

放弃它,解决它,谢谢

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

这是你想要的吗

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

以上所有这些都很有帮助,谢谢你的快速回复,当它让我回答时,会标记为已回答,谢谢
select t1.*
from teacher t1
join teacher t2 on t1.id = t2.id2
select t.*
from teacher t
where exists (select 1 from teacher t2 where t2.id = t.id2);
select t1.* 
from teacher as t1 ,teacher as t2 
where t1.ID = t2.ID2 and t1.ID > t2.ID2