你的位置:首页 > 软件开发 > 数据库 > 今天说一下where 中 exists 和 in 里面的一些区别

今天说一下where 中 exists 和 in 里面的一些区别

发布时间:2016-02-16 18:00:25
in 和 exists 已经成为我们日常查询时候的常客了。很多时候他们2个都是可以互通实现的,但是,无论兄弟怎么亲,还是会有那么一些差别的。先搞个测试表CREATE TABLE #Tmp1(ID INT,Col1 NVARCHAR(50))CREATE TABLE #Tmp2(I ...

in 和 exists 已经成为我们日常查询时候的常客了。很多时候他们2个都是可以互通实现的,但是,无论兄弟怎么亲,还是会有那么一些差别的。

先搞个测试表

CREATE TABLE #Tmp1(ID INT,Col1 NVARCHAR(50))CREATE TABLE #Tmp2(ID INT,T1ID INT,Col1 NVARCHAR(50),Col2 NVARCHAR(50))INSERT INTO #Tmp1    ( ID, Col1 )VALUES ( 1, N'AAA'),( 2, N'BBB'),( 3, N'CCC'),( 4, N'DDD')INSERT INTO #Tmp2    ( ID, T1ID, Col1, Col2 )VALUES  ( 1, 1, N'aa1',N'aa!!'),( 5, 1, N'aa2',N'vv!!'),( 6, 3, N'cc3',N'VV!!')
2 使用 in 的注意事项。

  比方说将上面一个语句改成一个相关子查询,在子查询里面引用了#Tmp1 的ID,然后就变成以下的结果

SELECT * FROM #Tmp1 a  WHERE ID IN (SELECT T1ID FROM #Tmp2 WHERE a.ID = T1ID)ID     Col1----------- --------------------------------------------------1      AAA3      CCC

原标题:今天说一下where 中 exists 和 in 里面的一些区别

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录