系统:
MySQL 8.0.19
题目:
三张表:
S(SNO, SNAME, STATUS, CITY)
P(PNO, PNAME, COLOR, WEIGHT, CITY)
J(JNO, JNAME,CITY)
SPJ(SNO, PNO, JNO, PRICE, QTY)
S表示供应商,各属性依次为供应商号,供应商名,供应商状态值,供应商所在城市;
P表示零件,各属性依次为零件号,零件名,零件颜色,零件重量,零件存放的城市;
J表示工程,各属性依次为工程号,工程名,工程所在城市;
SPJ表示供货关系,各属性依次为供应商号,零件号,工程号,单价, QTY。
基于以上SPJ关系模式用SQL完成下面的查询:
问题1:
求没有供应零件号为P1和P2两种零件的供应商姓名。
1 select SNAME
2 from S
3 where SNO not in
4 (
5 select SNO
6 from SPJ
7 where PNO = 'P1' or PNO = 'P2'
8 );
View Code
注意:不是“即没有P1也没有P2零件”,而是“没有P1或没有P2零件”。
问题2:
列出所有供应商的信息,包括供应商姓名、所供应的零件名(没有供应零件的供应商也要列出,最后结果中不要出现重复元组。