【问题标题】:SQL Query to display employee who is a supervisor from employee tableSQL查询显示员工表中的主管员工
【发布时间】:2017-02-25 14:13:46
【问题描述】:

我处于两难境地:这是一个包含记录的表。

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

如何选择所有作为主管的员工并分别显示名字和姓氏?

这是桌子

【问题讨论】:

    标签: mysql sql-server select


    【解决方案1】:

    我会说:

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

    【讨论】:

      【解决方案2】:

      您可以使用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 
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-28
        • 2021-07-24
        • 1970-01-01
        • 2020-08-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多