mssql sqlserver 替换in关键字的方法分享


摘要:
下文将详细讲述替代in关键字的方法

in关键字:在sql脚本编写中,主要起到子查询的功能
例:

 select * from tableName 
   where [列名] in (
    select [列名] from tableNameE where ...
   )
 ---常见的in替代方案
select * from tableName 
   where exists (
    select null from tableNameE where ...
   )


in同exists关键字比较:
exists关键字通常比in关键字效率高
in 关键字:首先进行子查询运行,然后将子查询结果放入临时表 ,再将主查询中的数据依次和临时表中的数据进行对比
exists 关键字:首先进行主查询,然后将主查询的数据同子查询的数据进行比较
从两个关键字的执行顺序上,我们可以看出exists关键字效率高于in关键字