A表
ID 名称
1 AAA
2 BBBB
B表
ID 名称
1 CCCC
3 DDDDD
A表和B表用ID号关联,现在想只显示出B表的 ID号为3的记录,用什么SQL语句?
Select B.* From B Where B.ID Not In (Select ID From A)
这种写法效率不高,有几千条记录时,速度很慢。有没有什么效率高的方法 ?
3 个解决方案
#1
Select B.* From B
Where Not exists (Select 1 From A where B.ID = A.ID)
#2
第2个方法:
Select B.*
From B
left join A
on B.ID = A.ID
where a.id is null
#3
通过测试,方法2 的效率更高。谢了。结贴,给分。。
#1
Select B.* From B
Where Not exists (Select 1 From A where B.ID = A.ID)
#2
第2个方法:
Select B.*
From B
left join A
on B.ID = A.ID
where a.id is null
#3
通过测试,方法2 的效率更高。谢了。结贴,给分。。