我需要知道一个表中的所有行是否存在于另一个表中:
declare @Table1 table (id int)
declare @Table2 table (id int)
insert into @Table1(id) values (1)
insert into @Table1(id) values (4)
insert into @Table1(id) values (5)
insert into @Table2(id) values (1)
insert into @Table2(id) values (2)
insert into @Table2(id) values (3)
if exists (select id from @Table1 where id in (select id from @Table2))
select 'yes exists'
else
select 'no, doesn''t exist'
此查询返回yes exists
但应该返回no, doesn't exist
,因为 1 中仅存在 1 @Table2
,值 4 和 5 不存在。
我应该在查询中更改什么?谢谢!