笔试时遇到如下一道SQL题:
有以下三个表,结构如下:
1.职员表:
职员ID 部门ID 职员姓名
2.部门表:
部门ID 部门名称
3.工资表:
序号ID 职员ID 月份 工资
请设计一个视图,查找出研发部2006年1月至2006年6月 工资最高的职员姓名,工资总额及平均工资
create view myView
as
select top 1 a.职员姓名 as 姓名,sum(c.工资) as 工资总额,avg(c.工资) as 平均工资
from 职员表 as a inner join 部门表 as b
on a.部门ID=b.部门ID
inner join 工资表 as c
on a.职员ID=c.职员ID
where b.部门名称='研发部' and c.月份 between '2006-01-01'and'2006-06-30'
group by a.职员姓名
order by 工资总额 desc