早教吧 育儿知识 作业答案 考试题库 百科 知识分享

设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,CITY)\x09P(PNO,PNAME,COLOR,WEIGHT)J(JNO,JNAME,CITY)SPJ(SNO,PNO,JNO,QTY)供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商所在城

题目详情
设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:
S(SNO,SNAME,CITY)\x09
P(PNO,PNAME,COLOR,WEIGHT)
J(JNO,JNAME,CITY)
SPJ(SNO,PNO,JNO,QTY)
供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商所在城市(CITY)组成;
零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)
组成;
工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;
供应情况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY.
试用SQL语言完成以下查询:(每题2分,共10分)
(1)找出所有供应商的姓名和所在城市;
(2)找出所有零件的名称、颜色、重量;
(3)找出使用供应商S1所供应零件的工程号码;
(4)找出工程项目J2使用的各种零件的名称及其数量;
(5)找出上海厂商供应的所有零件号码;
▼优质解答
答案和解析
1.创建表
以S表为例,P表、J表、SPJ表同理的.
create table s
(sno char(5),
sname char(20),
status char(8),
city char(15))
向表内插入记录,以第一条为例,其它同理.
insert into s values('s1','精益','20','天津')
2.查询
1)select sname,city
from s
2)select pname,color,weight
from p
3)select jno
from spj
where sno='s1'
4)select pname,qty
from p,spj
where p.pno=spj.pno and jno='j2'
5)select pno
from s,spj
where s.sno=spj.sno and city='上海'
6)select jno
from s,spj
where s.sno=spj.sno and city='上海'
7)select jno
from s,spj
where s.sno=spj.sno and city not in('上海')
8)update p
set color='蓝'
where color='红'
9)update spj
set sno='s3'
where sno='s5' and jno='j4' and pno='p6'
10)delete
from s
where sno='s2'
delete
from spj
where sno='s2'
(如果学过触发器的话,也可以用触发器做)
11)insert into spj
values('s2','j6','p4','200')