如何在没有子查询的情况下使用它。我需要使用join来获得相同的结果集

时间:2015-11-09 22:44:01

标签: sql-server

如何使用以下查询作为连接而不是子查询。这导致了糟糕的表现

    SELECT EBIJ.* FROM BUDLINEITEMS EBIJ
WHERE ReferenceId NOT IN (SELECT ImportKeyId FROM External_Blk_Itm_JounalEntries)

1 个答案:

答案 0 :(得分:3)

 SELECT EBIJ.* 
 FROM BUDLINEITEMS EBIJ
 LEFT JOIN External_Blk_Itm_JounalEntries E
 ON EBIJ.ReferenceId = E.ImportKeyId
 WHERE E.ImportKeyId IS NULL 

OR

SELECT EBIJ.* FROM BUDLINEITEMS EBIJ
WHERE NOT EXISTS (SELECT 1 
                  FROM External_Blk_Itm_JounalEntries E
                  WHERE EBIJ.ReferenceId = E.ImportKeyId )