【SQL】SQL中的IN方法:查询多种状态值

一、起因

因为要查询两种状态的值,如果用普通的查询,需要查两次,再把两次查询的值放到一个集合中,再去重,这样查找非常麻烦,所以决定优化,使用SQL中的IN查询:

SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...)

二、解决办法

这里,我要查询status=0和status=1的两种状态下的值;

SELECT * FROM jxdx_leave l
WHERE 1=1 
AND l.deleted=0
AND l.`status` IN ('0','1');

这里写图片描述

这里的status带了引号,这是因为Navicat自动提示给的,就先用了;可以查到;后面括号内的0和1也都有引号,可以查到;

三、去掉引号:

SELECT * FROM jxdx_leave l
WHERE 1=1 
AND l.deleted=0
AND l.status IN (0,1);

这里,我IN括号内的内容不带引号也是可以查到的;查到的内容和上面的一样,但是,在Mybatis中,带引号是查不到的,因为status是int类型,虽然Navicat帮我们去掉了引号,但是,还是得按照规矩来,是varchar类型用引号,是int类型,用整数,就一个字,稳;

欢迎关注我的公众号:
【幕桥社区】
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陶洲川

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值