SQL——exists

文章目录

前言

exists用于where条件语句之后,属于子查询的一种形式。

EXISTS用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值TrueFalse

案例

查询指定表,如果满足exists条件时,查询所有记录数。

select count(*) from DM_PARA_CONFIG where exists(select 1 from dual where 1 = 1)

在这里插入图片描述

由于select 1 from dual where 1 = 1为真,能够查询出数据信息,所以exists条件为,则select * from DM_PARA_CONFIG 能够查询所有数据。

不满足 exists 条件,则不会查询数据信息。

select count(*) from DM_PARA_CONFIG where exists(select 1 from dual where 2 = 1)

select 1 from dual where 2 = 1查询结果不存在,则exists条件为false,那么前面的sql查询结果为0.
在这里插入图片描述

扩展

其次where exists 后的sql语句,并不会因为查询返回数据为null,导致前面的查询结果无的情况。

测试sql如下所示:

select count(*) from DM_PARA_CONFIG where exists(select null from dual where 1 = 1)

在这里插入图片描述
【注意:】exists 后的语句,只在乎是否为true,与返回数据无关!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值