sql语句查询中exists中为什么要用select 1?
select*fromcall_cdr_xz_200609awhereanda.ori_charge<>0andexists(select1fromspecialbwhe...
select * from call_cdr_xz_200609 a where and a.ori_charge<>0 and exists(select 1 from special b where a.called_nbr like b.special_nbr||'%' and b.billing_state=0 ),好比这个,为什么要加select 1?括号中的条件字句不是恒成立的吗,求解
展开
7个回答
展开全部
select 1
与
select *
或者select 某个字段
此处,从功能上来说是等效的,主要是用来是否有返回行,如果有,则exists成立。
至于你说的“恒成立”,我看不出来。
与
select *
或者select 某个字段
此处,从功能上来说是等效的,主要是用来是否有返回行,如果有,则exists成立。
至于你说的“恒成立”,我看不出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Select 后面可以随意跟,写0或者1只是为了1,方便;2,效率稍高
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
exists里面的select后面用什么都可以,可以用*,也可以用一个存在的列名,关键是看where条件的记录是否存在,使用select 1也可以,效果是一样的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你看清楚后面的语句,有a。也有b.俩个表是相互关联的,所以后面的语句不是恒成立的,select 1也要后面条件成立才又结果
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询