Oracle optimized or replaced with in, exists, and union statements. There is no problem in testing!
Select the appropriate statement based on the actual situation! If there is an index, or full table scan, in and not in should also be used with caution, otherwise it will cause full table scan,
Select * from T_Pro_Product where bar_code = 'nnnmmm' or name = 'nnnmmm' or no = 'nnnmmm'; select * from T_Pro_Product where 'nnnmmm' in (bar_code, name, no) -- worried select * from T_Pro_Product t1 where exists (select 1 from T_Pro_Product tt1 where t1.bar _ code = 'nnnmmm' union all select 1 from T_Pro_Product tt2 where t1.no = 'nnnmmm' union all select 1 from T_Pro_Product tt3 where t1.name like 'n' % ') -- worried select * from T_Pro_Product t1 where t1.id in (select id from T_Pro_Product tt1 where t1.bar _ code = 'nnnmmm' union all select id from T_Pro_Product tt2 where t1.no = 'nnnmmm' union all select id from T_Pro_Product tt3 where t1.name = 'nnnmmm ')