数据库SQL题目求解答!急求!
设有如下3个关系模式:职工EMP(职工号,姓名,性别,出生年月)工程PRJ(工程编号,工程名称,预算)报酬SAL(职工号,工程编号,工资)用SQL语句,完成第(1)-(6...
设有如下3个关系模式:
职工 EMP(职工号,姓名,性别,出生年月)
工程 PRJ(工程编号,工程名称,预算)
报酬 SAL(职工号,工程编号,工资)
用SQL语句,完成第(1)-(6)题。
(1)创建“报酬”表,其中主码为“职工号,工程编号”,外码为“职工号”和“工程编号”
(2)按照职工号统计每个职工的总收入。
(3)检索所有预算超过100万的工程的情况。
(4)将参加了101号工程的职工工资提高10%。
(5)创建一个查询职工承担工程的视图VPS,VPS包括职工号、姓名、工程名称和工资属性。
(6)将“报酬”表的查询权限授给用户王红。 展开
职工 EMP(职工号,姓名,性别,出生年月)
工程 PRJ(工程编号,工程名称,预算)
报酬 SAL(职工号,工程编号,工资)
用SQL语句,完成第(1)-(6)题。
(1)创建“报酬”表,其中主码为“职工号,工程编号”,外码为“职工号”和“工程编号”
(2)按照职工号统计每个职工的总收入。
(3)检索所有预算超过100万的工程的情况。
(4)将参加了101号工程的职工工资提高10%。
(5)创建一个查询职工承担工程的视图VPS,VPS包括职工号、姓名、工程名称和工资属性。
(6)将“报酬”表的查询权限授给用户王红。 展开
4个回答
展开全部
1.CREATE TABLE 报酬
(职工号 VARCHAR(15),
工程编号 VARCHAR(15),
工资 VARCHAR(15),
PRIMARY KEY(职工号),
REFERENCES (职工号),
REFERENCES (工程编号))
(PS 下外码为“职工号”和“工程编号” 这个要指明是那个表的外键 所以上面我写的是错的
还一个 一个裱中只能有一个主键其中主码为“职工号,工程编号” 所以这句话也是错的)
2.SELECT 职工号,count(工资)
FROM 报酬
GROUP BY 职工号
3.SELECT * FROM 工程 WHERE 预算>100W
4.SELECT (工资+工资*10%) FROM 报酬 WHERE 工程编号=101
5.CREATE VIEW VPS (职工号、姓名、工程名称,工资)
AS SELECT 职工.职工号,职工.姓名,工程.工程名称,报酬.工资
WHERE 职工,报酬,工程
6.GRANT SELECT ON 报酬 TO 王红
(职工号 VARCHAR(15),
工程编号 VARCHAR(15),
工资 VARCHAR(15),
PRIMARY KEY(职工号),
REFERENCES (职工号),
REFERENCES (工程编号))
(PS 下外码为“职工号”和“工程编号” 这个要指明是那个表的外键 所以上面我写的是错的
还一个 一个裱中只能有一个主键其中主码为“职工号,工程编号” 所以这句话也是错的)
2.SELECT 职工号,count(工资)
FROM 报酬
GROUP BY 职工号
3.SELECT * FROM 工程 WHERE 预算>100W
4.SELECT (工资+工资*10%) FROM 报酬 WHERE 工程编号=101
5.CREATE VIEW VPS (职工号、姓名、工程名称,工资)
AS SELECT 职工.职工号,职工.姓名,工程.工程名称,报酬.工资
WHERE 职工,报酬,工程
6.GRANT SELECT ON 报酬 TO 王红
展开全部
(1).---------------------------------
CREATE TABLE SAL (
职工号 VARCHAR(20),
工程编号 VARCHAR(10),
工资 DOUBLE,
PRIMARY KEY(职工号,工程编号),
FOREIGN KEY(职工号) REFERENCES EMP(职工号),
FOREIGN KEY(工程编号) REFERENCES EMP(工程编号),
);
(2)------------------------------------
SELECT 职工号,COUNT(工资)
FROM SAL
GROUP BY 职工号;
(3)-------------------------------------
SELECT 工程编号
FORM PRJ
WHERE 预算>1000000;
(4)------------------------------------
UPDATE SAL
SET 工资=工资*110%
WHERE 工程编号='101';
(5)------------------------------------
CREATE VIEW VPS
AS
SELECT 职工号,姓名,工程编号,工资
FROM SAL,PRJ,EMP
WHERE EMP.职工号=SAL.职工号 AND PRJ.工程编号=SAL.工程编号;
(6)------------------------------------
GRANT SELECT
ON TABLE SAL
TO 王红;
CREATE TABLE SAL (
职工号 VARCHAR(20),
工程编号 VARCHAR(10),
工资 DOUBLE,
PRIMARY KEY(职工号,工程编号),
FOREIGN KEY(职工号) REFERENCES EMP(职工号),
FOREIGN KEY(工程编号) REFERENCES EMP(工程编号),
);
(2)------------------------------------
SELECT 职工号,COUNT(工资)
FROM SAL
GROUP BY 职工号;
(3)-------------------------------------
SELECT 工程编号
FORM PRJ
WHERE 预算>1000000;
(4)------------------------------------
UPDATE SAL
SET 工资=工资*110%
WHERE 工程编号='101';
(5)------------------------------------
CREATE VIEW VPS
AS
SELECT 职工号,姓名,工程编号,工资
FROM SAL,PRJ,EMP
WHERE EMP.职工号=SAL.职工号 AND PRJ.工程编号=SAL.工程编号;
(6)------------------------------------
GRANT SELECT
ON TABLE SAL
TO 王红;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.create table sal(职工号 varchar(10) foreign key references EMP(职工号),工程编号 varchar(10) foreign key references 工程(工程编号),工资 money,primary key(职工号,工程编号))
2.select 职工号,count(工资) as 总收入 from SAL group by 职工号
3.select * from EMP,PRJ,SAL WHERE EMP.职工号=SAL.职工号 and PRJ.工程编号=SAL.工程编号 and 预算>1000000
4. UPDATE SAL SET 工资=工资*1.1 where 工程编号='101'
5.create view vps as select emp.职工号,姓名,工程名称,工资 from EMP,PRJ,SAL WHERE EMP.职工号=SAL.职工号 and PRJ.工程编号=SAL.工程编号
6.grant select on table sal to 王红
2.select 职工号,count(工资) as 总收入 from SAL group by 职工号
3.select * from EMP,PRJ,SAL WHERE EMP.职工号=SAL.职工号 and PRJ.工程编号=SAL.工程编号 and 预算>1000000
4. UPDATE SAL SET 工资=工资*1.1 where 工程编号='101'
5.create view vps as select emp.职工号,姓名,工程名称,工资 from EMP,PRJ,SAL WHERE EMP.职工号=SAL.职工号 and PRJ.工程编号=SAL.工程编号
6.grant select on table sal to 王红
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
z
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |