SQL Query显示员工表中的主管员工

时间:2016-10-16 15:38:46

标签: mysql sql-server select

我陷入了这种困境:这里有一张记录表。

最后一列有主管,它引用第一列。

如何选择所有主管员工并为每个名字和姓氏显示?

这是表格

enter image description here

2 个答案:

答案 0 :(得分:1)

您可以使用EXISTS执行此操作(首选方法)

SELECT *
FROM   yourtable t1
WHERE  EXISTS (SELECT 1
               FROM   yourtable t2
               WHERE  t1.EMPLOYEEID = t2.EMPSUPERVISOR) 

使用IN运算符

SELECT *
FROM   yourtable t1
WHERE  t1.EMPLOYEEID IN (SELECT t2.EMPSUPERVISOR
                         FROM   yourtable t2) 

使用JOIN

SELECT t1.*
FROM   yourtable t1
       JOIN (SELECT DISTINCT EMPSUPERVISOR
             FROM   yourtable) t2
         ON t1.EMPLOYEEID = t2.EMPSUPERVISOR 

答案 1 :(得分:0)

我会说:

 SELECT EMPLNAME , EMPLFNAME 
   FROM THETABLE
  WHERE EMPLOEEID IN (SELECT DISTINCT EMPSUPERVISOR
                        FROM THETABLE
                     )
 ;