作业...大家帮帮忙.设有一个SPJ 数据库 包括S,P,I SPJ4个关系模式

来源:百度知道 编辑:UC知道 时间:2024/06/18 04:13:11
S(SNO,SNAME,STATUS,CITY);
P(PNO,PNAME,COLOR,WEIGHT);
J(JNO,JNAME,CITY);
SPJ(SNO,PNO,JNO,QTY);
供应商表S由供应商代码(SNO) 供应商姓名(SNAME) 供应商状态(STATUS) 供应商所在城市(CITY)组成
零件表P由零件代码(PNO) 零件名(PNAME) 颜色(COLOR) 重量(WEIGHT)组成
工程项目表J由工程项目代码(JNO) 工程项目名(JNAME) 工程项目所在城市(CITY)组成
供应情况表SPJ由供应商代码(SNO) 零件代码(PNO) 工程项目代码(JNO) 供应数量(QTY)组成 表示某供应商供应某种零件给某工程项目的数量为QTY

用SQL语言完成以上操作
1 求供应工程J1零件的供应商号码SNO
2 求供应工程J1零件P1的供应商号码SNO
3 求供应工程J1零件为红色的供应商号码SNO
4 求没有使用天津供应商生产的红色零件的工程号JNO
5 求至少用了供应商S1所供应的全部零件的工程号JNO
6 找出所有供应商的姓名和所在城市
7 找出所有零件的名称,颜色,重量
8 找出使用供应商S1所供应零件的工程代码
9 找出工程项目J2使用的各种零件的名称及其数量
10 找出上海厂商供应的所有零件号码
11 找出使用上海产的零件的工程项目
12 找出没有使用天津产的零件的工程号码
13 把全部红色零件的颜色改成蓝色

费了我多少功夫啊~~~~~~~~~~~~`

1 求供应工程J1零件的供应商号码SNO
select SNO from SPJ where JNO=J1;
2 求供应工程J1零件P1的供应商号码SNO
select SNO from SPJ where JNO=J1 and PNO=P1;
3 求供应工程J1零件为红色的供应商号码SNO
select SPJ.SNO from SPJ,P where SPJ.PNO=P.PNO and JNO=J1 and P.COLOR="红色";
4 求没有使用天津供应商生产的红色零件的工程号JNO
select SPJ.JNO from SPJ,S,P where SPJ.SNO=S.SNO and SPJ.PNO=P.PNO and S.SNAME!="天津" and P.COLOR="红色";
5 求至少用了供应商S1所供应的全部零件的工程号JNO
select SPJ.JNO from SPJ,S where SPJ.SNO=S.SNO and S.SNO=S1;
6 找出所有供应商的姓名和所在城市
select SNAME,CITY from S;
7 找出所有零件的名称,颜色,重量
select PNAME,COLOR,WEIGHT from P;
8 找出使用供应商S1所供应零件的工程代码
select JNO from SPJ where SNO=S1;
9 找出工程项目J2使用的各种零件的名称及其数量
select P.PNAME,SPJ.QTY from SPJ,P where SPJ.PNO=P.PNO and JNO=J2;
10 找出上海厂商供应的所有零件号码
select SPJ.PNO from SPJ,S where SPJ.SNO=S.SNO and S.SNAME='上海';
11 找出使用上海产的零件的工程项目
select J.JNAME f