java SQLexists用法,mssql sql server where 中exists in 用法举例

摘要:

下文讲述where子句中,in exists用法举例

in exists 功能简介:

in exists:查询数据存在于表中的关键字

in exists:查询效率上 exists效率高于in 关键字

—————-

in exists 举例应用:

例:

CREATE TABLE #A(keyId INT,info NVARCHAR(50))

CREATE TABLE #B(keyId INT,keyId_A INT,info1 NVARCHAR(50),info2 NVARCHAR(50))

INSERT INTO #A(keyId,info)VALUES(1,N'test1'),(2,N'test2'),(3,N'test3')

INSERT INTO #B(keyId,keyId_A,info1,info2)

VALUES (1,1, N'测试B',N'测试B扩展'),(5,1, N'测试B_2',N'测试B_2扩展'),(6,13,N'测试B_3',N'测试B_3扩展')

/*查询A表中keyId 再B表 keyId_A列中的值,

我们可以分别采用一下两种方式获取:

1 exists

2 in

*/

----exists---

SELECT * FROM #A a

WHERE EXISTS(SELECT * FROM #B WHERE a.keyId = #B.keyId_A)

/*

exists 括号中跟一个bool值,只要 括号中存在值,select 就会返回当前行

所以以下sql脚本等同于以上脚本信息

SELECT * FROM #A a

WHERE EXISTS(SELECT null FROM #B WHERE a.keyId = #B.keyId_A)

可以使用系列语句达到返回所有行记录

select * from #A a

where exists(select null)

*/

----in

SELECT * FROM #A

WHERE keyId IN (SELECT keyId_A FROM #B)

go

truncate table #A

drop table #A

truncate table #B

drop table #B

go

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值