题干本题共包含 20 个小题

设有关系模式: 
SB(SN,SNAME,CITY) 
其中,S表示供应商,SN为供应商代号,SNAME为供应商名字,CITY为供应商所在城市,主码为SN。 
PB(PN,PNAME,COLOR,WEIGHT) 其中P表示零件,PN为零件代号,PNAME为零件名字,COLOR为零件颜色,WEIGHT为零件重量,主码为PN。 
JB(JN,JNAME,CITY) 
其中,J表示工程,JN为工程编号,JNAME为工程名字,CITY为工程所在城市,主码为JN。 
SPJB(SN,PN,JN,CITY) 
其中,SPJ表示供应关系,SN是为指定工程提供零件的供应商代号,PN为所提供的零件代号,JN为工程编号,QTY表示提供的零件数量,主码为SN,PN,JN,外码为SN,PN,JN。 
如图所示表示供应商(S)-零件(P)-工程(J)数据库表,写出实现以下各题功能的SQL语句:


 

简答题1

取出所有工程的全部细节

正确答案

答案解析

简答题2

取出所在城市为上海的所有工程的全部细节

正确答案

SELECT * FROM JB WHERE CITY=’上海’ TO SCREEN
JN  JNAME CITY
J1   JN1   上海
J5   JN5   上海
J7   JN7   上海

答案解析

简答题3

取出重量最轻的零件代号

正确答案

答案解析

简答题4

取出为工程J1提供零件的供应商代号

正确答案

SELECT SN FROM SPJB WHERE JN=’JI’ TO SCREEN
SN
S1
S2
S3

答案解析

简答题5

取出为工程J1提供零件P1的供应商代号

正确答案

SELECT SN FROM SPJB;
WHERE JN=’JI’ AND PN=’P1’ TO SCREEN
SN
S1

答案解析

简答题6

取出由供应商S1提供零件的工程名称

正确答案

SELECT JB.JNAME FROM JB, SPJB;
WHERE JB.JN=SPJB.JN AND SPJB.SN=’S1’ TO SCREEN
JNAME
JN1
JN4

答案解析

简答题7

取出供应商S1提供的零件的颜色

正确答案

答案解析

简答题8

取出为工程J1或J2提供零件的供应商代号

正确答案

SELECT DISTINCT SN FROM SPJB; 
WHERE JN=’JI’ OR JN=’J2’ TO SCREEN
SN
S1
S2
S3
S5

答案解析

简答题9

取出为工程J1提供红色零件的供应商代号

正确答案

SELECT DISTINCT SPJB.SN FROM SPJB, PB;
WHERE PB.PN=SPJB.PN AND SPJB.JN=’JI’ AND PB.COLOR=’红’ TO SCREEN
SN
S1

答案解析

简答题10

取出为所在城市为上海的工程提供零件的供应商代号

正确答案

答案解析

简答题11

取出为所在城市为上海或北京的工程提供红色零件的供应商代号

正确答案

SELECT SPJB.SN FROM PB, JB, SPJB;
WHERE SPJB.PN=PB.PN AND JB.JN=SPJB.JN AND PB.COLOR=’红’;
AND (JB.CITY=’上海’ OR JB.CITY=’北京’) TO SCREEN
SN
S1
S4

答案解析

简答题12

取出供应商与工程所在城市相同的供应商提供的零件代号

正确答案

答案解析

简答题13

取出上海的供应商提供给上海的任一工程的零件的代号

正确答案

SELECT SPJB.PN FROM SB, JB, SPJB;
WHERE SB.SN=SPJB.SN AND JB.JN=SPJB.JN AND SB.CITY=’上海’;
AND JB.CITY=’上海’ TO SCREEN
PN
P1
P6

答案解析

简答题14

取出至少由一个和工程不在同一城市的供应商提供零件的工程代号

正确答案

答案解析

简答题15

取出上海供应商不提供任何零件的工程的代号

正确答案

答案解析

简答题16

取出这样一些供应商代号,它们能够提供至少一种由红色零件的供应商提供的零件

正确答案

答案解析

简答题17

取出由供应商S1提供零件的工程的代号

正确答案

SELECT DISTINCT SPJB.JN FROM SB, PB, SPJB;
WHERE SB.SN=SPJB.SN AND PB.PN=SPJB.PN AND SB.SN=’S1’ TO SCREEN
JN
J1
J4

答案解析

简答题18

取出所有这样的一些二元组,使得第1个城市的供应商为第2个城市的工程提供零件

正确答案

答案解析

简答题19

取出所有这样的一些三元组,使得第1个城市的供应商为2个城市的工程提供指定的零件

正确答案


答案解析

简答题20

取出所有这样的一些三元组,使得第1个城市的供应商为2个城市的工程提供指定的零件,但不检索两个CITY值相同的三元组。

正确答案

答案解析