以下是显示员工“杰克”被聘用后雇用的员工详细信息的代码
所有信息都在一张表中。
我的查询:
select e.employee_name, e.hiredate
from employees e
where e.employee_hiredate > jack.hiredate;
要获得“杰克”表,您只需要加入:
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将解释一些有关子查询的内容。
Select *
from employees e
where convert(date,e.employee_hiredate) > (select convert(date,e.employee_hiredate)
from employees
where employee = 'jack'
)
由于您要选择仅与特定员工进行比较的记录,因此您可以使用子查询。
在Oracle中,您可以执行以下操作:
select e.employee_name, e.hiredate
from employees e
where TRUNC(e.employee_hiredate) > (SELECT TRUNC(HIREDATE) FROM EMPLOYEES WHERE EMPLOYEE_NAME = 'Jack');