我需要知道一个表中的所有行是否都存在于其他表中:
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'
Run Code Online (Sandbox Code Playgroud)
此查询返回yes exists但应返回,no, doesn't exist因为只存在1 @Table2,值4和5不存在.
我的查询应该更改什么?谢谢!
IF NOT EXISTS (
SELECT ID FROM @Table1
EXCEPT
SELECT ID FROM @Table2
)
SELECT 'yes exists'
ELSE SELECT 'no, doesn''t exist'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12924 次 |
| 最近记录: |