一个较复杂的SQL语句,请高人帮我分析!

lovepingping 2006-04-29 09:13:58
设供应商供应零件的关系模式是SP(SNO,PNO,QTY),其中SNO表示供应商号,PNO表示零件号,QTY表示零件数量。查询至少包含了供应商“168”所供应的全部零件的供应商号的SQL语句如下:
select sno from sp spx where (9)
(select * from fp spy where (10) and not exists
(select * from sp spz where (11)))
.
9:A.exists B. NOT exists C.in D.not in
10:A.spy.sno='168' B.spy.sno<>'168' B.spy.sno=spx.sno B.spy.sno<>spx.sno
11:A.spz.sno=spy.sno and spz.pno=spy.pno B.syz.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
答案是:A .A.C
但我不知道为什么?请高人分析,在此感谢!

...全文
635 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
leegoldlake 2006-12-22
  • 打赏
  • 举报
回复
设供应商“168”所供应的全部零件为集合A,供应商X所供应的全部零件为集合B

如果在集合A中找不到不存在于集合B中的元素,
则供应商X就是要找的商家.
zby7819 2006-05-16
  • 打赏
  • 举报
回复
exist 是相关子查询,就是说子查询要用到父查询的元组信息,是用循环方式实现的
子查询只返回真值,而且是不能独立进行的
而in则是不相关的,在子查询的结果中进行判别,就是说in 子查询返还一个集合

所以有一些exist查询是不能用in和连接查询替代的
striker_un 2006-05-15
  • 打赏
  • 举报
回复
答案是BAC 这是以前的考题。
much0726 2006-05-14
  • 打赏
  • 举报
回复
题目应该是
select sno from sp spx where (9)
(select * from sp spy where (10) and not exists
(select * from sp spz where (11)))
我也觉得是BAC
第一个NOT EXISTS表示不存在供应商168这样的记录
第二个NOT EXISTS表示没有这样的供应商记录
你可以这么理解,集合先选择了所有不包含供应商168的记录,然后所有的结果又不在这个集合里
much0726 2006-05-14
  • 打赏
  • 举报
回复
EXISTS是一个元组
IN是一个项,所以一般IN前面都有WHERE SNO IN(表)
我的理解。呵呵
Ivcn 2006-05-14
  • 打赏
  • 举报
回复
我明白了,楼主,恕我口头表达能力差,居然说不出来,你可以参考一些教科书看看。
wjbtt008 2006-05-06
  • 打赏
  • 举报
回复
exists=any ?? 所 有??
lovepingping 2006-05-05
  • 打赏
  • 举报
回复
其实我也想问下"exists 和in 有什么区别",我只知道IN=SOME
wjbtt008 2006-05-04
  • 打赏
  • 举报
回复
能说说 exists 和in 有什么区别吗
jie00677 2006-05-02
  • 打赏
  • 举报
回复
可能还是B,A,A吧
x,y,z同一个表
在X中选择"不"存在(在Y中供应商号是"168"而"不"存在(X的供应商号和Z相同
和Z和Y的零件一样))
lovepingping 2006-04-30
  • 打赏
  • 举报
回复
答案是AAC,但因为我没有理解,所以我就不知道错了,请楼上帮我分析一下,好吗?
luoxingfeisha 2006-04-30
  • 打赏
  • 举报
回复
看这一版块的另几贴,都是这个题.
双重否定表肯定
第一个是B
luoxingfeisha 2006-04-29
  • 打赏
  • 举报
回复
答案怎么会是AAC呢
BAC

2,958

社区成员

发帖
与我相关
我的任务
社区描述
就计算机等级考试、软件初、中、高级不同级别资格考试相关话题交流经验,共享资源。
c1认证c4javac4前端 技术论坛(原bbs)
社区管理员
  • 软件水平考试社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧