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

只有注册用户登录后才能发表评论。
<2020年10月>
27282930123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

相册

搜索

最新评论

阅读排行榜

评论排行榜