oracle中in和exists的区别
oracle中in和exists的区别http://www.cnblogs.com/oraclelike/p/6130302.html
1、select * from A where id in (select id from B)--使用in 2、select * from A where exists(select B.id from B where B.id=A.id)--使用exists 3、select A.* from A,B where A.id=B.id--不使用in和exists 具体使用时到底选择哪一个,主要考虑查询效率问题: 第一条语句使用了A表的索引; 第二条语句使用了B表的索引; 第三条语句同时使用了A表、B表的索引; 如果A、B表的数据量不大,那么这三个语句执行效率几乎无差别; 如果A表大,B表小,显然第一条语句效率更高,反之,则第二条语句效率更高; 第三条语句尽管同时使用了A表、B表的索引,单扫描次数是笛卡尔乘积,效率最差。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |