数据库上机作业(二)

(select PNO from S ,P,SPJ where S.CITY ='天津’ AND S.SNO = SPJ.SNO AND P.COLOR =’红’ AND P.PNO = SPJ.PNO ) select JNO from J where not exists (select PNO from P,S,SPJ where S.SNO=SPJ.SNO and S.CITY='天津' and SPJ.PNO=P.PNO and P.COLOR=‘红’ and SPJ.JNO=J.JNO ) 5. 求至少用了供应商S1所供应的全部零件的工程号JNO。 ∏JNO,PNO(SPJ)÷∏PNO(sSNO=’S1’(SPJ)) 查询解释为: 查询工程号为x的工程,对所有的零件y,只要S1供应商提供零件y,则工程x就使用了y。 形式化表示: 用P表示谓词“供应商S1提供了零件y” 用q表示谓词“工程x使用了零件y” 则上述查询为: (∀y) p → q (∀y)p →q ≡ ¬ ∃y(p∧¬q) 变换后语义: 不存在这样的零件y,供应商S1生产了y,而工程x没有使用。 除法÷的SQL表示: select * from where not exists (select * from where not exists (select * from Where ) ) 1、 Select distinct jno From spj spjz Where not exists (select * From spj spjx Where sno=’S1’and not exists (select * From spj spjy Where spjy.pno=spjx.pno and spjz.jno=spjy.jno)); 从SPJ中,找出这样的jno,满足如下条件:不存在SPJ表中的某条记录,该记录的供应商是S1,同时不存在另外一条供应记录,该记录是你正在考查的工程的使用记录,并且零件就是S1供应的。 2、SELECT JNO FROM J WHERE NOT EXISTS (SELECT * FROM P WHERE PNO IN (SELECT PNO FROM SPJ WHERE SNO='S1') AND NOT EXISTS (SELECT * FROM SPJ WHERE J.JNO=JNO AND PNO=P.PNO) ) 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 PNAME , SPJ.QTY FROM P ,SPJ WHERE SPJ.JNO = ‘J2’ AND SPJ.PNO = P.PNO; 10. 找出上海厂商供应的所有零件号码。 Select distinct pno from spj where sno in (select sno from s where city=’上海’) 11. 找出使用上海产的零件的工程名称。 Select jname from j, spj, s where j.jno=spj.jno and spj.sno=s.sno and s.city=’上海’; 或 Select jname from j where jno in (select jno from spj,s where spj.sno =s.sno and s.city=’上海’) 12. 找出没有使用天津产的零件的工程号码。 SELECT JNO FROM J WHERE JNO not IN (SELECT JNO FROM SPJ,S WHERE SPJ.SNO = S.SNO AND S.CITY = '天津' ) 或 SELECT JNO FROM J WHERE not exists (SELECT * FROM SPJ,S WHERE spj.jno=j.jno and SPJ.SNO = S.SNO AND S.CITY = '天津' ) 1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值