最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SQL SERVER中關(guān)于exists 和 in的簡單分析

 更新時間:2014年08月11日 09:35:14   投稿:hebedich  
這篇文章主要介紹了SQL SERVER中關(guān)于exists 和 in的簡單分析,需要的朋友可以參考下

In與Exists這兩個函數(shù)是差不多的,但由于優(yōu)化方案不同,通常NOT Exists要比NOT IN要快,因?yàn)镹OT EXISTS可以使用結(jié)合算法二NOT IN就不行了,而EXISTS則不如IN快,因?yàn)檫@時候IN可能更多的使用結(jié)合算法。

如圖,現(xiàn)在有兩個數(shù)據(jù)集,左邊表示#tempTable1,右邊表示#tempTable2?,F(xiàn)在有以下問題:

1.求兩個集的交集?

2.求tempTable1中不屬于集#tempTable2的集?

先創(chuàng)建兩張臨時表:

create table #tempTable1
(
  argument1 nvarchar(50),
  argument2 varchar(20),
  argument3 datetime,
  argument4 int
);
insert into #tempTable1(argument1,argument2,argument3,argument4)
values('preacher001','13023218757',GETDATE()-1,1);
insert into #tempTable1(argument1,argument2,argument3,argument4)
values('preacher002','23218757',GETDATE()-2,2);
insert into #tempTable1(argument1,argument2,argument3,argument4)
values('preacher003','13018757',GETDATE()-3,3);
insert into #tempTable1(argument1,argument2,argument3,argument4)
values('preacher004','13023257',GETDATE()-4,4);
insert into #tempTable1(argument1,argument2,argument3,argument4)
values('preacher005','13023218',GETDATE()-5,5);
insert into #tempTable1(argument1,argument2,argument3,argument4)
values('preacher006','13023218',GETDATE()-6,6);
insert into #tempTable1(argument1,argument2,argument3,argument4)
values('preacher007','13023218',GETDATE()-7,7);
insert into #tempTable1(argument1,argument2,argument3,argument4)
values('preacher008','13023218',GETDATE()-8,8);

create table #tempTable2
(
  argument1 nvarchar(50),
  argument2 varchar(20),
  argument3 datetime,
  argument4 int
);
insert into #tempTable2(argument1,argument2,argument3,argument4)
values('preacher001','13023218757',GETDATE()-1,1);
insert into #tempTable2(argument1,argument2,argument3,argument4)
values('preacher0010','23218757',GETDATE()-10,10);
insert into #tempTable2(argument1,argument2,argument3,argument4)
values('preacher003','13018757',GETDATE()-3,3);
insert into #tempTable2(argument1,argument2,argument3,argument4)
values('preacher004','13023257',GETDATE()-4,4);
insert into #tempTable2(argument1,argument2,argument3,argument4)
values('preacher009','13023218',GETDATE()-9,9);

比如,我現(xiàn)在以#tempTable1和#tempTable2的argument1作為參照

1.求兩集的交集:

1)in 方式

select * from #tempTable2 where argument1 in
(select argument1 from #tempTable1)

2)exists 方式

select * from #tempTable2 t2 where exists 
(select * from #tempTable1 t1 where t1.argument1=t2.argument1)

2.求tempTable1中不屬于集#tempTable2的集

1)in 方式

select * from #tempTable1 where argument1 not in
(select argument1 from #tempTable2)

2)exists 方式

select * from #tempTable1 t1 where not exists 
(select * from #tempTable2 t2 where t1.argument1=t2.argument1)

相關(guān)文章

最新評論

中超| 高平市| 新疆| 栖霞市| 咸丰县| 泗水县| 宣城市| 宁德市| 长春市| 通榆县| 昭平县| 汽车| 渑池县| 达拉特旗| 伊宁市| 曲沃县| 延津县| 磴口县| 罗甸县| 太湖县| 理塘县| 化德县| 台江县| 临邑县| 托克逊县| 华安县| 永顺县| 崇信县| 吉木乃县| 定兴县| 扎囊县| 调兵山市| 天津市| 岢岚县| 永寿县| 桦川县| 呼图壁县| 抚远县| 南城县| 聂拉木县| 夏邑县|