MySQL查询条件OR导致模糊查询失效

起因:查出来的列表数据,通过查询条件过滤,发现过滤条件并不起作用

检查发现:where查询条件里面有or的过滤条件,用来进行权限控制,模糊查询条件本来是起效果的,但是OR的条件一执行,就有多了些数据

代码:

sql 复制代码
SELECT
 item_apply_id,
 ....
FROM
 loan_item_apply 
WHERE
 item_apply_title LIKE '%临海%' 
 AND ( createBy =10000131273521 
				OR item_apply_a =10000131273521 
				OR item_apply_b =10000131273521 
				OR createBy = 0 
				OR createBy IS NULL 
				OR createBy IN ( SELECT UNDERUSERID FROM sys_user_under WHERE USERID =10000131273521) ) 
 AND doc_status != 1 
--下面的查询条件一添加,就会再多出来一些符合下面查询条件的数据
 OR EXISTS ( SELECT 1 FROM bl_project_approval bpa 
						 WHERE bpa.check_person LIKE CONCAT( '%',10000131273521, '%' ) 
						 AND bpa.project_approval_id = loan_item_apply.project_approval_id ) 

期望的结果:先查出来所有符合要求的,然后再根据过滤条件去过滤,所以这里做的处理是,再套一层,把这个查询出来的结果当成一个临时表,再select这个临时表,用过滤条件过滤这个临时表的数据

⚠️⚠️⚠️

查询条件有OR的条件的话,需要注意

相关推荐
m0_631529828 分钟前
如何在非组件文件中动态读取 Redux Store 中的值以配置主题颜色
jvm·数据库·python
m0_733565468 分钟前
SQL如何统计每日新增用户数_窗口函数与日期维度的结合
jvm·数据库·python
古怪今人9 分钟前
etcd分布式键值存储系统 Windows下搭建etcd集群
数据库·分布式·etcd
我科绝伦(Huanhuan Zhou)10 分钟前
oracle linux8.8一键部署oracle 11g
数据库·oracle
lolo大魔王11 分钟前
Go语言数据库操作之GORM框架从入门到生产实战(完整版)
开发语言·数据库·golang
2303_8212873814 分钟前
Redis如何监控系统QPS的变化趋势
jvm·数据库·python
dinglu1030DL16 分钟前
uni-app怎么接极光推送 uni-app消息推送App端接入【教程】
jvm·数据库·python
神明93117 分钟前
Go语言如何用logrus_Go语言logrus日志框架教程【技巧】
jvm·数据库·python
数据库小学妹23 分钟前
企业级数据库迁移实践:从Oracle到国产数据库的兼容性与实施策略
数据库·mysql·oracle·dba
2301_7796224123 分钟前
PHP处理Codex安全漏洞检测【解答】
jvm·数据库·python