(2) 关系代数:
P.S1 J1 ?SNO(?JNO?'J1'?PNO?'P1'(SPJ))
ALPHA语言:GET W(SPJ.SNO):SPJ.JNO=’J1’∧SPJ.PNO=’P1’ QBE语言:
SPJ (3) 关系代数:
SNO P.S1 PNO P1 JNO J1 QTY ?SNO(?SNO,PNO(?JNO?'J1'(SPJ))???PNO(?COLOR?'红'(P)))
注:??是连在一起的,表示连接 ALPHA语言:
RANGE P PXGET W(SPJ.SNO):?PX(PX.PNO?SPJ.PNO?SPJ.JNO?'J1'?PX.COLOR?'红')QBE语言:
SPJ
P PNO PNAME COLOR WEIGHT SNO P.S1 PNO P1 JNO J1 QTY (4) 关系代数:
P1 红 ???JNO(J)??JNO(?SNO(?CITY?'天津'(S))???SNO,PNO,JNO(SPJ)PNO?(?COLOR?'红'(P))) ALPHA语言:
RANGE SPJ SPJX P PX S SX GET W(J.JNO):??SPJX(SPJX.JNO?J.JNO? ?SX(SX.SNO?SPJX.SNO?SX.CITY?'天津')? ?PX(PX.PNO?SPJX.PNO?PX.COLOR?'红'))
QBE语言:
S
P
SPJ SNO S1 PNO P1 JNO P.J1 QTY PNO P1 PNAME COLOR 红 WEIGHT SNO S1 SNAME STATUS CITY 天津 ? (5) 关系代数:
?JNO,PNO(SPJ)??PNO(?SNO?'S1'(SPJ))
ALPHA语言:
RANGE SPJ SPJX SPJ SPJY P PX GET W(J.JNO):?PX(?SPJX(SPJX.PNO?PX.PNO?SPJX.SNO?'S1') ??SPJY(SPJY.JNO?J.JNO?SPJY.PNO?PX.PNO))
第三章习题
4、答:
a.建立四个表:
建立S表:S(SNO,SNAME,STATUS,CITY) CREATE TABLE S (SNO CHAR(3), SNAME CHAR(10), STATUS CHAR(2), CITY CHAR(10));
建立P表:P(PNO,PNAME,COLOR,WEIGHT0
CREATE TABLE P (PNO CHAR(3), PNAME CHAR(10), COLOR CHAR(4), WEIGHT INT);
建立J表:J ( JNO , JNAME , CITY);
CREATE TABLE J (JNO CHAR (3), JNAME CHAR (10), CITY CHAR (10));
建立 SPJ 表: SPJ ( SNO , PNO , JNO , QTY);
CREATE TABLE SPJ (SNO CHAR (3), PNO CHAR (3), JNO CHAR (3), QTY INT)); b.查询:
(1)求供应工程J1 零件的供应商号码 SNO
SELECT DISTINCT SNO FROM SPJ WHERE JNO='J1'
(2)求供应工程J1零件 Pl 的供应商号码 SNO
SELECT DISTINCT SNO
FROM SPJ
WHERE JNO='J1' AND PNO='P1'
(3)求供应工程 J1零件为红色的供应商号码 SNO
SELECT DISTINCT SNO FROM SPJ, P
WHERE JNO='J1' AND SPJ.PNO=P.PNO AND COLOR='红'
(4)求没有使用天津供应商生产的红色零件的工程号 JNO;
SELECT JNO FROM J
WHERE NOT EXISTS
(SELECT * FROM SPJ
WHERE SPJ.JNO=J.JNO AND SNO IN
(SELECT SNO FROM S
WHERE CITY=’天津’) AND PNO IN (SELECT PNO FROM P
WHERE COLOR=’红’));
相关推荐: