sql server 20008 r2 中,exists和in 的原理机制是什么呀,我的代码怎么结果和我想的不一样
发布网友
发布时间:2023-07-14 00:32
我来回答
共1个回答
热心网友
时间:2023-10-13 04:15
使用这段exists时:select *from tab1where exists(select *from tab2where job='老司机')返回tab1中所有的狗蛋,包括tab2中不存在的狗蛋5;
首先你要理解Exists的意思。查询的结果集非空时,返回“True”; 查询的结果集为空时,返回“False” 。
(select *from tab2where job='老司机') 这个子查询返回是3条数据吧,不为空,true
select *from tab1where exists(select *from tab2where job='老司机')
就相当于
select *from tab1where 1=1 都是返回true。所以查询出的结果是tab1的所有数据。