SQL语句查询问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 05:33:40
创建两个表,一个是公司部门维表,要求字段:部门编码、部门名称、经理ID;一个是公司员工维表,要求字段:部门编码、员工ID、员工姓名、出身年月、工龄、薪金、是否在职(在职为:Y,离职为:N);(注:经理ID即这个经理的员工ID)
创建一个视图,要求字段:部门编码、部门名称、经理ID、经理姓名、年龄、工龄;
要求用一个SQL算出每个部门的员工数;
要求用一个SQL表示:删除离职员工在公司员工维表中的信息;如果该员工是经理,则还需要用另一个SQL表示出:更新公司部门维表中,部门的经理ID,用该部门中工龄最长的员工的ID来替换;
要求用一个SQL表示:更新工龄在3年以上的员工的薪金,普通员工增加1000元,经理增加1500元

一、创建视图
CREATE VIEW view_name AS
SELECT A.部门编码,A.部门名称,A.经理ID,B.员工姓名 AS 经理姓名,B.工龄,DATEDIFF('yyyy',B.出身年月,NOW) AS 年龄
FROM 公司部门维表 A,公司员工维表 B WHERE A.经理ID=B.员工ID AND B.是否在职='Y'
二、每个部门的员工数
SELECT 部门编码,COUNT(*) AS 员工数 FROM 公司员工维表 WHERE 是否在职='Y' GROUP BY 部门编码
(要求用一个SQL表示:删除离职员工在公司员工维表中的信息;如果该员工是经理,则还需要用另一个SQL表示出:更新公司部门维表中,部门的经理ID,用该部门中工龄最长的员工的ID来替换; )这一段似乎用一句SQL语句不太好写,高手在哪里??