码迷,mamicode.com
首页 > 数据库 > 详细

msql数据库in和exists用法比较

时间:2015-09-21 23:49:21      阅读:534      评论:0      收藏:0      [点我收藏+]

标签:

exists:用法:select * from table1 where exists (select * from table2 where table1.id = table2.id )
返回table1中和table2中id相同的记录(双重循环)结果和in语法一样,思想不一样,
in:select * from table1 where id in (select id from table2 )

2者思路不一样:exists:先获得每一条table1的数据,然后获得id字段,去table2表内查找对应值,找到说明符合条件
in:先获得所以的id可能性,再检索table2数据时,判断当前的id是否在id集合内

对于in:如果table2中数据量太大,不使用,因为他要先把这么多数据找出来并存储,开销大,可以用exists

msql数据库in和exists用法比较

标签:

原文地址:http://www.cnblogs.com/hhfhmf/p/4827571.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!