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. 阅读(993) 评论(0)  编辑 收藏 引用 所属分类: 学习

只有注册用户登录后才能发表评论。
<2007年9月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

相册

搜索

最新评论

阅读排行榜

评论排行榜