各位大哥:
有如下一个查询试题,应如何做,麻烦讲解一下解题过程?
谢谢!!!!!!!!设供应商供应零件的关系模式为SP(Sno,Pno,Qty),
其中Sno表示供应商号,Pno表示零件号,Qty表示零件数量。
查询至少包含了供应商“168”所供应的全部零件的供应商号的SQL语句如下:
SELECT Sno
FROM SP SPX
WHERE __(19)__
(SELECT *
FROM SP SPY
WHERE __(20)__ AND NOTEXISTS
(SELECT *
FROM SP SPZ
WHERE __(21)__ ));
(19)A.EXISTS B.NOT EXISTS C.IN D.NOT IN
(20)A.SPY.Sno='168' B.SPY.Sno<>'168'
C.SPY.Sno=SPX.Sno D.SPY.Sno<>SPX.Sno
(21)A.SPZ.Sno=SPY.Sno AND SPZ.Pno=SPY.Pno
B.SPZ.Sno=SPX.Sno AND SPZ.Pno=SPX.Pno
C.SPZ.Sno=SPX.Sno AND SPZ.Pno=SPY.Pno
D.SPY.Sno<>'168' AND SPZ.Pno=SPY.Pno
有如下一个查询试题,应如何做,麻烦讲解一下解题过程?
谢谢!!!!!!!!设供应商供应零件的关系模式为SP(Sno,Pno,Qty),
其中Sno表示供应商号,Pno表示零件号,Qty表示零件数量。
查询至少包含了供应商“168”所供应的全部零件的供应商号的SQL语句如下:
SELECT Sno
FROM SP SPX
WHERE __(19)__
(SELECT *
FROM SP SPY
WHERE __(20)__ AND NOTEXISTS
(SELECT *
FROM SP SPZ
WHERE __(21)__ ));
(19)A.EXISTS B.NOT EXISTS C.IN D.NOT IN
(20)A.SPY.Sno='168' B.SPY.Sno<>'168'
C.SPY.Sno=SPX.Sno D.SPY.Sno<>SPX.Sno
(21)A.SPZ.Sno=SPY.Sno AND SPZ.Pno=SPY.Pno
B.SPZ.Sno=SPX.Sno AND SPZ.Pno=SPX.Pno
C.SPZ.Sno=SPX.Sno AND SPZ.Pno=SPY.Pno
D.SPY.Sno<>'168' AND SPZ.Pno=SPY.Pno
解决方案 »
- 为什么会报这个错?date: cannot set date: Operation not permitted
- oralce 一个很奇怪的问题
- 如何从一个以逗号分隔的字符串中将这些字母提取出来?
- 如何把一个字段中2个下划线中的字符取出来?多谢
- oracle9i数据库加载失败
- 如何在指定的表空间下查询表
- 相关子查询的问题,高手请进!!!
- java.sql.SQLException: No more data to read from socket
- 如何根据远程数据库的sid得到其数据库名?
- oracle的时间问题,怎样把date类型的字段在设成默认值为 2002-07-10 10:02:54 格式?
- c#中使用多数据库连接操作问题
- 一个应该是很简单的分组查询问题?
(20) A.SPY.Sno='168'
(21) C.SPZ.Sno=SPX.Sno AND SPZ.Pno=SPY.Pno不存在 (‘168‘供应商 选的产品而自己没选的情况)