exists字面意思是存在,在SQL语句中,其实也是存在的意思。exists返回的成果是true或者false,本文为您演示若何在SQL语句中利用exists
建立一个姑且表,用于演示sqlserver语法中的exists利用体例
IF OBJECT_ID('tempdb..#tmp1') IS NOT NULL DROP TABLE #tmp1;
CREATE TABLE #tmp1(
Col1 varchar(50),
Col2 varchar(200)
);
往姑且表中插入几行测试数据,用于演示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');
查询姑且表中的测试数据
select * from #tmp1;
若是在exists中查询的成果是NULL,最终exists返回的仍然是true。例如,下面的语句返回的就是整个表的成果
select * from #tmp1 where exists(select null);
利用子查询连系exists利用,当exists返回true的时辰,就返回指心猿意马成果
select *
from #tmp1
where exists(select 1 from #tmp1 where Col2 = 2)
and Col1 = 'Code1'
利用子查询连系exists利用,当exists返回false的时辰,就不会返回指心猿意马的成果。例如,将上面SQL子查询的Col2从等于2,改当作等于20
select *
from #tmp1
where exists(select 1 from #tmp1 where Col2 = 20)
and Col1 = 'Code1'
在存储过程中,经常会利用exists判定前提是否当作立,例如,判定姑且表中是否存在记实
if exists(select 1 from #tmp1)
print '存在数据'
else
print '不存在数据'
0 篇文章
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!