最近在做实名认证,其中有个批处理要筛选需要处理的信息,结果每次都筛选出错误数据,经过一番排查发现是sql中OR的用法有问题!写个博客记录一下:
场景:筛选某表中,姓“张”并且为“组别1”或者是“组别2”的客户!(意在组1和组2中姓张客户的集合!)
错误sql:select * from 表 where name like ‘张%’ and group = ‘1’ or group = ‘2’;
错误原因:这里查的是组1中姓张的客户和组2的所有客户!
正确sql:select * from 表 where name like ‘张%’ and (group = ‘1’ or group =‘2’);
备注:要搞清楚是哪个条件和哪个条件“或”关系!
本文通过具体案例,解析了在SQL查询中使用OR操作符时常见的逻辑错误。详细阐述了如何正确地组合条件以筛选特定数据,避免因OR操作符使用不当导致的数据筛选偏差。
10万+

被折叠的 条评论
为什么被折叠?



