Вы также можете использовать exists
, так как иногда это быстрее, чем left join
. Вам нужно сравнить их, чтобы понять, какой из них вы хотите использовать.
select
id
from
tableA a
where
not exists
(select 1 from tableB b where b.id = a.id)
Чтобы показать, что exists
может быть более эффективным, чем left join
, вот планы выполнения этих запросов в SQL Server 2008:
left join
- общая стоимость поддерева: 1.09724:
exists
- общая стоимость поддерева: 1.07421: