您当前的位置:首页 > 计算机 > 软件应用 > 数据库 > MySQL

MySQL中EXISTS的用法

时间:03-30来源:作者:点击数:

Mysql中我们用的最多的多个值查询in,但in有很多缺点,例如效率不高,如果存在null值Mysql还无法执行导致整个程序报错.接下来这篇帖子教你如何使用mysql中的exists.

image-20210427114027306

在工作中,往往我们会看到这样的sql,难以理解.所以今天为了让读者能够看懂.做一个简单的例子

image-20210427114639249

假设我们有两张表一张是app_sequ_pb 另一张是app_user

app_sequ_pb 是用户屏蔽表 通过此表 我们可以添加屏蔽的用户

image-20210427114820753

用户表则有很多数据,但是我们如何知道,我们屏蔽的是那些用户呢?

image-20210427114947946

执行sql执行sql得出上图:

select * from app_user where exists(select id from app_sequ_pb where app_user.id = userid)
image-20210427115051243
select * from app_user where !exists(select id from app_sequ_pb where app_user.id = userid)

在exists前面加!取反 得到所有未屏蔽的数据.

总结:

A表和B表需要有关联关系.exists内的sql必须关联A表,select * 返回的结果可以只写一个字段提高查询效率.

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门