EXISTS与IN的区别

IN
确定给定的值是否与子查询或列表中的值相匹配。
EXISTS
指定一个子查询,检测行的存在。

        下面从具体的语句来看:
select * from 表A where exists(select * from 表B where 表B.id=表A.id)

这句相当于

select * from 表A where id in (select id from 表B)


对于表A的每一条数据,都执行select * from 表B where 表B.id=表A.id的存在性判断,如果表B中存在表A当前

行相同的id,则exists为真,该行显示,否则不显示

posted on 2007-09-07 22:46 .柚柚之Blog. 阅读(1006) 评论(0)  编辑 收藏 引用 所属分类: 学习

只有注册用户登录后才能发表评论。
<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

相册

搜索

最新评论

阅读排行榜

评论排行榜