求大神指点SQL语言
已知关系数据库中有如下4个关系模式:部门(部门编号,部门名称,电话)员工(员工编号,姓名,性别,部门编号,职称)项目(项目编号,项目名称,预算)施工(员工编号,项目编号,...
已知关系数据库中有如下4个关系模式:
部门(部门编号,部门名称,电话)
员工(员工编号,姓名,性别,部门编号,职称)
项目(项目编号,项目名称,预算)
施工(员工编号,项目编号,工时)
用SQL语句完成36—39题。
36.查询每个员工的姓名,并按职称降序排列。
37.查询总工时在480小时以上(含480小时)的员工编号和总工时。
38.定义一个名称为“工作量”的视图,包含的属性有员工编号、姓名、项目名称和工时。
39.对项目名称为“高教新区项目”的施工工时增加50小时。 展开
部门(部门编号,部门名称,电话)
员工(员工编号,姓名,性别,部门编号,职称)
项目(项目编号,项目名称,预算)
施工(员工编号,项目编号,工时)
用SQL语句完成36—39题。
36.查询每个员工的姓名,并按职称降序排列。
37.查询总工时在480小时以上(含480小时)的员工编号和总工时。
38.定义一个名称为“工作量”的视图,包含的属性有员工编号、姓名、项目名称和工时。
39.对项目名称为“高教新区项目”的施工工时增加50小时。 展开
2个回答
展开全部
36.select 姓名,职称 from 员工 order by 2 desc
37.select 员工编号,sum(工时) as 总工时
from 施工
group by 员工编号
having sum(工时)>=480;
38.create view 工作量
as
select a.员工编号,a.姓名,b.项目名称,c.工时
from 员工 a,项目 b,施工 c
where a.员工编号=c.员工编号
and b.项目编号=c.项目编号
;
39.update 施工 set 工时=工时+50
where 项目编号 in (select 项目编号 from 项目 where 项目名称='高教新区项目')
;
37.select 员工编号,sum(工时) as 总工时
from 施工
group by 员工编号
having sum(工时)>=480;
38.create view 工作量
as
select a.员工编号,a.姓名,b.项目名称,c.工时
from 员工 a,项目 b,施工 c
where a.员工编号=c.员工编号
and b.项目编号=c.项目编号
;
39.update 施工 set 工时=工时+50
where 项目编号 in (select 项目编号 from 项目 where 项目名称='高教新区项目')
;
展开全部
--36
SELECT 姓名
FROM 员工
ORDER BY 职称 DESC
--37
SELECT 员工编号,SUM(工时) 总工时
FROM 施工
GROUP BY 员工编号
HAVING SUM(工时)>=480
--38
CREATE VIEW 工作量 AS
SELECT Y.员工编号,姓名,项目名称,工时
FROM 施工 S JOIN 员工 Y ON S.员工编号=Y.员工编号
JOIN 项目 X ON X.项目编号=S.项目编号
--39
UPDATE 施工 SET 工时=工时+50
WHERE 项目编号=(SELECT 项目编号 FROM 项目 WHERE 项目名称='高教新区项目')
SELECT 姓名
FROM 员工
ORDER BY 职称 DESC
--37
SELECT 员工编号,SUM(工时) 总工时
FROM 施工
GROUP BY 员工编号
HAVING SUM(工时)>=480
--38
CREATE VIEW 工作量 AS
SELECT Y.员工编号,姓名,项目名称,工时
FROM 施工 S JOIN 员工 Y ON S.员工编号=Y.员工编号
JOIN 项目 X ON X.项目编号=S.项目编号
--39
UPDATE 施工 SET 工时=工时+50
WHERE 项目编号=(SELECT 项目编号 FROM 项目 WHERE 项目名称='高教新区项目')
更多追问追答
追问
37
SELECT 员工编号,SUM(工时) AS 总工时
FROM 施工
GROUP BY 员工编号
HAVING CONT SUM(工时)>=480
38
CREATE VIEW 工作量 (员工编号,姓名,项目名称,工时)
这是我自己做的 38题我看不懂
追答
第37题最后多了一个CONT ,这个语句是无法执行的,错误的;第38题你这个语句没写完,后面要跟上视图定义的内容。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询