--- SQL QUERY ---哪些员工比他们的经理年长?

时间:2017-03-28 16:24:56

标签: sql

我有一张名为employee的表。它包括经理和员工。还有生日专栏,我需要找到比他们的经理人更老的员工"。我该怎么做?你能给我一些线索吗?

2 个答案:

答案 0 :(得分:1)

您可以在同一张桌子上使用inner join

select e.*
from employees e
  inner join employees m
    on e.managerid = m.id
   and e.birthdate < m.birthdate
{p}或exists()中的where

select e.*
from employees e
where exists (
  select 1
  from employees m
  where e.managerid = m.id
    and e.birthdate < m.birthdate
    )

答案 1 :(得分:0)

如果您的员工结构如下:

id,
name,
birthdate,
manager_id

这可能是一个解决方案:

select id,  name
from employees e
where
  exists
  (select *
  from employees m
  where
    m.id = e.manager_id and
    m.birthdate > e.birthdate);