返回目录:游戏资讯
SELECT *
FROM A
WHERE 1 = 1
AND EXISTS (SELECT 1
FROM B
WHERE A.C = B.C)
Exists 方法 描述如果在 Dictionary 对象中指定的关键字存在,返回 True,若不存在,返回 False。
举个copy例子吧:
select * from a where exists(select * from b where a.id = b.id);
a表和b表使用id关联,这条语句的含义是,当zdb表能够查询出结果时,exists(select * from b where a.id = b.id)子句为真,只有满足exists结果为真时,才会查询出a表的记录。这样解释你明白了吗。
EXISTS在SQL中的作用是:检验查询是否返回数据。
select a.* from tb a where exists(select 1 from tb where name =a.name)返回真e79fa5e98193e78988e69d83337假,当 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,结果在整体执行就无返回值;一旦跟外面的查询关联上,就能准确查出数据。