数据库SQL题目求解答!急求!

设有如下3个关系模式:
职工 EMP(职工号,姓名,性别,出生年月)
工程 PRJ(工程编号,工程名称,预算)
报酬 SAL(职工号,工程编号,工资)
用SQL语句,完成第(1)-(6)题。
(1)创建“报酬”表,其中主码为“职工号,工程编号”,外码为“职工号”和“工程编号”
(2)按照职工号统计每个职工的总收入。
(3)检索所有预算超过100万的工程的情况。
(4)将参加了101号工程的职工工资提高10%。
(5)创建一个查询职工承担工程的视图VPS,VPS包括职工号、姓名、工程名称和工资属性。
(6)将“报酬”表的查询权限授给用户王红。

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 王红
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-10
(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 王红;本回答被提问者采纳
第2个回答  2012-12-10
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 王红本回答被网友采纳
第3个回答  2012-12-10
z