【问题标题】:Display the details of the employees who have been hired after the employee 'Jack' was hired显示员工“Jack”入职后已入职员工的详细信息
【发布时间】:2014-06-27 04:57:15
【问题描述】:

下面是显示员工“Jack”入职后已入职员工详细信息的代码

所有信息都在一个表中。

我的查询:

select e.employee_name, e.hiredate
from employees e 
where e.employee_hiredate > jack.hiredate;

【问题讨论】:

    标签: sql select nested where


    【解决方案1】:

    要获得您的“杰克”表,您只需要加入:

    select e.employee_name, e.hiredate 
    from employees e
    join employees jack on jack.employee_name = 'Jack'
    where e.employee_hiredate > jack.hiredate;
    

    您也可以使用子查询:

    select e.employee_name, e.hiredate 
    from employees e
    where e.employee_hiredate > (select hiredate from employees where employee_name = 'Jack');
    

    This article 可能会更好地解释连接是如何工作的,this article 会解释一下子查询。

    【讨论】:

      【解决方案2】:
      Select * 
      from   employees e 
      where  convert(date,e.employee_hiredate)  > (select convert(date,e.employee_hiredate) 
                                                   from employees 
                                                   where employee = 'jack'
                                                  )
      

      【讨论】:

        【解决方案3】:

        由于您要选择仅与特定员工比较的记录,您可以使用子查询。

        Oracle 中,您可能可以执行以下操作:

        select e.employee_name, e.hiredate
        from employees e 
        where TRUNC(e.employee_hiredate) > (SELECT TRUNC(HIREDATE) FROM EMPLOYEES WHERE EMPLOYEE_NAME = 'Jack');
        

        【讨论】:

          猜你喜欢
          • 2020-09-09
          • 2020-10-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-13
          • 1970-01-01
          相关资源
          最近更新 更多