select
a.*
from
员工 a
where
a.员工ID = (select
top 1 员工ID
from
员工,薪水
where
员工.员工ID=薪水.员工ID
and
员工.部门ID=a.部门ID
order by
薪水.薪水 desc)
a.*
from
员工 a
where
a.员工ID = (select
top 1 员工ID
from
员工,薪水
where
员工.员工ID=薪水.员工ID
and
员工.部门ID=a.部门ID
order by
薪水.薪水 desc)
这句不明白
on a.员工id=b.员工id
select 员工姓名,max(薪水) 薪水 from 员工 a join 薪水 b
on a.员工id=b.员工id group by 员工姓名
on a.员工id=b.员工id join 部门 c on a.部门id=c.部门id group by 员工姓名,c.部门id
select *
from 员工 ,薪水
where 员工.员工ID = 薪水.薪水ID
and 员工.部门ID +max(薪水.薪水ID) in
(
select
员工.部门ID + max(薪水.薪水ID)
from 员工, 薪水
where 员工.员工ID = 薪水.薪水ID
and 部门.部门ID =员工.部门ID
group by 员工.部门ID
)
from 员工 ,薪水
where 员工.员工ID = 薪水.薪水ID
and 员工.部门ID +薪水.薪水ID ---上面这个地方写错了
in
(
select
员工.部门ID + max(薪水.薪水ID)
from 员工, 薪水
where 员工.员工ID = 薪水.薪水ID
and 部门.部门ID =员工.部门ID
group by 员工.部门ID
)
部门(部门ID,部门名称)
员工(员工ID,员工姓名,部门ID)
薪水(薪水ID,员工ID,薪水) 求每个部门最高薪水的员工的姓名
select 部门ID,员工ID,薪水ID from t1 a where not exists ( select 1 from t1 where 部门ID=a.部门ID and a.薪水ID <薪水ID )
from 员工,薪水
where 员工.员工ID = 薪水.薪水ID
and 员工.部门ID+ 薪水.薪水ID in
(
select 员工.部门ID + max(薪水.薪水ID)
from 员工, 薪水
where 员工.员工ID = 薪水.薪水ID
group by 员工.部门ID)
---不好意思,上面还是写多了
from(
select dept.部门名称,emp.员工姓名,saly.薪水
from 部门 dept,员工 Emp,薪水 saly
where dept.部门ID = emp.部门ID and emp.员工ID = saly.员工ID
) A
group by a.部门名称,a,员工姓名
having Max(a.薪水)
人家都做出来了,干嘛不结分给人家!人家都做出来了,干嘛不结分给人家!人家都做出来了,干嘛不结分给人家!人家都做出来了,干嘛不结分给人家!