如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select * from A where cc in (select cc from B) 效率低,用到了A表上cc列的索引;select * from A where ...
SELECT * FROM orders o WHERE EXISTS (SELECT * FROM order_detls od WHERE o.id=od.order_id AND od.product_id=’1′);该代码将返回符合条件的所有订单信息,并且实现了一次性查询多条数据的效果。综上,通过 IN 子句、UNION 操作符和 EXISTS 关键字,我们可以实现一次性查询多...