mssql sqlserver sql脚本 exists关键字用法简介


摘要:
下文将介绍exists关键字的用法



一、exists关键字功能简介

exists:主要用于检查子查询是否存在符合条件的行,返回true 或false



二、exists关键字举例应用


    create table A(keyId1 int,info1 varchar(20))
create table B(keyId2 int,info2 varchar(20))

-------------生成数据------------------
insert into A(keyId1,info1)values(1,'a')
insert into A(keyId1,info1)values(2,'b')
insert into A(keyId1,info1)values(3,'c') 
----------------------------------------
insert into B(keyId2,info2)values(10,'a2')
insert into B(keyId2,info2)values(2,'a3')
insert into B(keyId2,info2)values(30,'a4')

---1 返回A表所有 exists关键字 (select null ) 对A表所有行都返回一行数据 true标志,所以所有数据都会展示出来
select keyId1,info1 from A where exists(select null)
go 
---2 exists 关键字 比对表B和表A的行关联,如果存在,则返回表A所在行数据
select keyId1,info1 from A where exists(select * from B where B.keyId2 = A.keyId1)
go  
truncate table A drop table A 
truncate table B drop table B