有个判断条件是这样写的:
if exists (select 1 from t1 inner join t2 on t2.a=t1.a where t1.name="")
如果条件满足,结果有一条记录就返回一条记录、一个字段,该字段的内容就是1,如果不满足条件就返回null。
我不明白为什么要这么写,直接select 一个常量
if exists (select 1 from t1 inner join t2 on t2.a=t1.a where t1.name="")
如果条件满足,结果有一条记录就返回一条记录、一个字段,该字段的内容就是1,如果不满足条件就返回null。
我不明白为什么要这么写,直接select 一个常量
null =不存在
(select 1 from t1 inner join t2 on t2.a=t1.a where t1.name="")
当然也可以写出来
(
id int,
name varchar(10)
)
create table t2
(
id int,
age int
)
insert into t1 values(1,'jim');
insert into t1 values(2,'tom');
insert into t2 values(1,24);declare @n int
select @n = 1 from t1,t2 where t1.id = t2.id and t1.name = 'jim'
if(@n = 1)
begin
select * from t1
end
else
begin
select * from t2
end