欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

not in 与in 做大数据的时候可以用来替换下

程序员文章站 2022-05-04 12:38:20
...

之前做数据转储的时候用到的方法。当时是几十万的数据,用join后速度提升好几倍,节约了大量时间。 如果数据量小的话这种没什么意思 可以依次类推出in的sql方法 无 create table #table1 (name varchar(20),dis varchar(100))create table #table2 (name varc

之前做数据转储的时候用到的 方法。当时是几十万的数据,用join后 速度提升好几倍,节约了大量时间。
如果数据量小的话 这种没什么意思
可以依次类推出 in 的sql方法
create table #table1 (name varchar(20),dis varchar(100))
create table #table2 (name varchar(20),dis varchar(100))

insert into #table1 select 'a','b' union select 'b','c' union select 'd','e' union select 'f','g'
insert into #table2 select 'a1','b1' union select 'b1','c1' union select 'd1','e1' union select 'f1','g1'

select * from #table2 where dis not in(select name from #table1)

select * from #table2  as a
left join #table1 as b on a.dis=b.name
where b.name is null

/*
select * from 表A where 列 not in(select 列 from 表B)

替换方法 表A 与 表B 进行join关联  让B 列为null时 则表A有数据 表B没有。
之前做数据转储的时候想到的,数据量很大的时候可以这样 效率很高

select * from 表A  as a
left join 表B as b on a.列=b.列
where b.列 is null
*/