SQL的exists用法(100分)

  • 主题发起人 主题发起人 Kang
  • 开始时间 开始时间
K

Kang

Unregistered / Unconfirmed
GUEST, unregistred user!
哪位大侠解释一下exists的用法
如: select * from a
where exists(select 产品名称 from b where a.价格>b.价格)

执行后,a公司比B公司贵的显示出来
而b公司没有的产品也显示出来了 Why
 
试试:
select * from a where exists (select b.产品名称 from a, b where a.价格 > b.价格)
 
我主要是想了解exists的用法
 

你的语法我已经试过了,没有你说的那种情况,要合理一点应该如下写
select * from a where
exists(select 产品名称 from b where (a.价格>b.价格)and(a.产品名称=b.产品名称))
 
exists就这么用啊,难道还有特别的用法?
 
是另个家伙信口胡诌让我问问 :)
谁把书上对exists的解释贴上就行了
 
才100分?我才不贴呢!戒了Delphi了……
 
wjiachun -10分
 
书是怎么写我可不记得了不过应该是这样用吧:
用A公司的每一条记录与B公司的所有记录相比,若存在价格大于B公司的价格,
应显示出来,一直到A。EOF。试试:
select * from a
where exists(select 产品名称 from b where (a.价格>b.价格) and (a.产品号=b.产品号))
 
sql server设计务实
------旗标,人民邮电 P249
子查询可以伴随exists来测试查询是否有结果,如果有结果返回true,
如果没有结果返回false.而主查询根据
TRUE 或者 false 决定是否要将数据返回。
下例将会返回“齐齐公司”比"表表"公司贵的产品与“表表公司”没有的产品
select *
from 齐齐公司
where exists
(select 产品名称-----问题(1):这里“产品名称”的作用是?
from 表表公司
where 齐齐公司。价格>表表公司。价格)
结果:
产品名称 价格
钢笔 100。00
2B铅笔 2000。00
问题(2)
“与“表表公司”没有的产品”????????
sigh,Kang连个问题都不会问:)


 
把exists的说明贴一下吧
明天结束

向斑竹建议:最好也能给负分,呵呵
 
(2000-06-25 22:06:26) kang
我测试那个exists,用>和用>=结果一样

老千答复如下:
台湾人和咱们说话有点不同的说。
子查询可以伴随exists来测试查询是否有结果,如果有结果返回true,
如果没有结果返回false.而主查询根据
TRUE 或者 false 返回数据集
-----返回数据集在这里就是执行主查询,

select *
from 齐齐公司
的意思
所以只要子查询有一条满足(不管是> 还是 >=)都返回true,
也就是你看不到有什么区别罗



 
搞清楚了. 让千中元和台湾人一起给骗了 :((((((
100分呢!!20天的工资没了!
 
就这样了 :(
千中元提供了问题线索,就把分给他了
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部