比如下面SQL语句:declare @FCardName varchar(50)select @FCardName='恒生'--@FCardName是变量,假设@FCardName='恒生'select FCardName,FBillNo,FItemName
from a
where FBillNo not in (
select FBillNo from b where FCardName=@FCardName)
我发现用了not in 在查询分析器运行很慢,我的问题是用什么方法代替 not in ,代替 not in 前提是运行速度不能慢。
from a
where FBillNo not in (
select FBillNo from b where FCardName=@FCardName)
我发现用了not in 在查询分析器运行很慢,我的问题是用什么方法代替 not in ,代替 not in 前提是运行速度不能慢。
from a
where not exists (
select 1 from b where a.FBillNo=b.FBillNo and FCardName=@FCardName)
from a
where not exists (
select FBillNo from b where FBillNo=a.FBillNo and FCardName=@FCardName)
from a t
where not exists (
select 1 from b where FBillNo = t.FBillNo FCardName=@FCardName)
--try:declare @FCardName varchar(50)
select @FCardName='恒生'
select FCardName,FBillNo,FItemName from a left join b
on b.FBillNo=a.FBillNo and b.FBillNo is null
where b.FCardName=@FCardName
select @FCardName='恒生'
select * from a left join b
on b.FBillNo!=a.FBillNo
where b.FCardName=@FCardName
declare @FCardName varchar(50)
select @FCardName='恒生'
select * from a left join b
on b.FBillNo=a.FBillNo and b.FCardName=@FCardName
where b.fbillno is null