关于SQL中IN和EXISTS的一些理解
有时候会将一列和一系列值相比较。最简单的办法就是在where子句中使用子查询。在where子句中可以使用两种格式的子查询。第一种格式是使用IN操作符:... where column in(select * from ... where ...);第二种格式是使用EXIST操作符:... where exists (select 'X' from ...where ...);[@more@]绝大多数人会使用第一种格式,因为它比较容易编写,而实际上第二种格式要远比第一种格式的效率高。在Oracle中可以几乎将所有的IN操作符子查询改写为使用EXISTS的子查询。第二种格式中,子查询以 select 'X'开始。运用EXISTS子句不管子查询从表中抽