SQL中EXISTS怎么用

火化证2023-02-03  17

EXISTS在SQL中的作用是:检验查询是否返回数据。

select a.* from tb a where exists(select 1 from tb where name =a.name)返回真假,当 where 后面的条件成立,则列出数据,否则为空。

exists强调的是是否返回结果集,不要求知道返回什么。比如:select name from student where sex = 'm' and mark exists(select 1 from grade where ...)

只要exists引导的子句有结果集返回,那么exists这个条件就算成立了,大家注意返回的字段始终为1

如果改成“select 2 from grade where ...”,那么返回的字段就是2,这个数字没有意义。所以exists子句不在乎返回什么,而是在乎是不是有结果集返回。

扩展资料:

Exists 方法描述如果在 Dictionary对象中指定的关键字存在,返回True,若不存在,返回False。

语法object.Exists(key)Exists 方法语法有如下几部分:部分描述Object必需的。始终是一个 Dictionary对象的名字。Key必需的,在 Dictionary对象中搜索的Key值。

exist相当于存在量词:表示集合存在,也就是集合不为空只作用一个集合.

例如 exist P表示P不空时为真not exist P表示p为空时为真in表示一个标量和一元关系的关系。

例如:s in P表示当s与P中的某个值相等时为真s not in P 表示s与P中的每一个值都不相等时为真。

exits与not exits

exists(sql 返回结果集为真)

not exists(sql 不返回结果集为真)

如果not exists子查询只有自己本身的查询条件,这样只要子查询中有数据返回,就证明是false,结果在整体执行就无返回值;一旦跟外面的查询关联上,就能准确查出数据。

参考资料:百度百科-Exists

exist的意思是:存在。

读音:英[ɪɡˈzɪst],美[ɪɡˈzɪst]。

释义:vi.存在;生存;生活;继续存在。

例句:Does life exist on Mars?

火星上是否存在生命?

变形:过去式existed,过去分词existed,现在分词existing,第三人称单数exists。

短语:

exist really确实存在。

exist as以…形态而存在。

exist between在…之间存在。

exist by靠…为生。

exist的用法

exist的基本意思是“存在,生存”。作“存在”解时主要指可以被感知的事物以某种状态存在,这种存在多为客观的,强调的是存在的真实性。作“生存”解时主要指人或其他生物依赖某物在地球上存活,此时只表示“存活”,而不表示“过生活”。

exist常与介词by或on连用,表示“生存的手段或方法”。

exist相当于表示存在的动词be,应置于引导词之后,主语之前,即主谓倒装。

exists可以说是oracle数据库开发中比较常见的用法,用exists可以提高sql的效率,可以取代in。

比如   a,b 关联列为 a.id = b.id,现在要取 a 中的数据,其中id在b中也存在:

select * from a where exists(select 1 from b where a.id = b.id)

现在要取 a 中的数据,其中id在b中   不存在:

select * from a where not exists(select 1 from b where a.id = b.id)

用法详解

exists是判断exits后面的sql语句是否为真,若为真则整个sql句子成立,否则没有任何记录。例子:

select 1 from dual where exists (select 1 from dual where 2=1)

上面的情况肯定是没有记录。

select 1 from dual where exists (select 1 from dual where 1=1)

上面的情况是有记录返回的。

判断另外的表中是否包含某个表的外键记录。例子:

select * from table_test a

where exists (select 1 from scott.carol_tmp where pps_master=a.pps_master)

这个sql是要检查table_test中的pps_master是否在carol_tmp中。其实用in也可以实现同样的效果,但是in的话效率要低些,特别是碰上一些大表。用exists和in的性能就体现出来了。


转载请注明原文地址:https://juke.outofmemory.cn/read/2882799.html

最新回复(0)