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 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!