SQL语句中的exists如何使用?如何搭配子查询

exists字面意思是存在, 在SQL语句中, 其实也是存在的意思 。 exists返回的成果是true或者false, 本文为您演示若何在SQL语句中利用exists
方式/
1建立一个姑且表, 用于演示sqlserver语法中的exists利用体例
IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1; 
CREATE TABLE #tmp1(
    Col1 varchar(50),        
    Col2 varchar(200)        
);

SQL语句中的exists如何使用?如何搭配子查询

文章插图

2往姑且表中插入几行测试数据, 用于演示exists利用
insert into #tmp1(Col1, Col2) values('Code1', '1');
insert into #tmp1(Col1, Col2) values('Code10', '2');
insert into #tmp1(Col1, Col2) values('Code100', '3');

SQL语句中的exists如何使用?如何搭配子查询

文章插图

3查询姑且表中的测试数据
select * from #tmp1;

SQL语句中的exists如何使用?如何搭配子查询

文章插图

4若是在exists中查询的成果是NULL, 最终exists返回的仍然是true 。 例如, 下面的语句返回的就是整个表的成果
select * from #tmp1 where exists(select null);

SQL语句中的exists如何使用?如何搭配子查询

文章插图

5利用子查询连系exists利用, 当exists返回true的时辰, 就返回指定成果
select *
from #tmp1
where exists(select 1 from #tmp1 where Col2 = 2)
and Col1 = 'Code1'

SQL语句中的exists如何使用?如何搭配子查询

文章插图

6利用子查询连系exists利用, 当exists返回false的时辰, 就不会返回指定的成果 。 例如, 将上面SQL子查询的Col2从等于2, 改当作等于20
select *
from #tmp1
where exists(select 1 from #tmp1 where Col2 = 20)
and Col1 = 'Code1'

SQL语句中的exists如何使用?如何搭配子查询

文章插图

7在存储过程中, 经常会利用exists判定前提是否当作立, 例如, 判定姑且表中是否存在记实
【SQL语句中的exists如何使用?如何搭配子查询】if exists(select 1 from #tmp1)
    print '存在数据'
else 
    print '不存在数据'

SQL语句中的exists如何使用?如何搭配子查询

文章插图


以上内容就是SQL语句中的exists如何使用?如何搭配子查询的内容啦, 希望对你有所帮助哦!

    推荐阅读