Como já foi comentado, é melhor e mais simples apenas concatenar várias condições:
where departmentName like '%Medi%'
or departmentName like '%Ciga%'
or departmentName like '%Tabacc%';
Outra maneira é inserir esses valores '%Medi%', '%Ciga%' e '%Tabacc%' em uma conditionTable e, em seguida, executar esta consulta:
select department.*
from department
cross join conditionTable
where department.departmentName like conditionTable.value;
Estou assumindo aqui que sua tabela é
department
e que a conditionTable tem uma coluna value
. Se você implementar esta solução, deve se preocupar com a simultaneidade e filtrar conditionTable por algo como select department.*
from department
inner join conditionTable on conditionTable.session = yourSessionId
where department.departmentName like conditionTable.value;
Finalmente, uma terceira solução que pode ser útil, se você não quiser usar uma conditionTable, é gerar uma string
select <cond1> as value from dual union select <cond2> from dual...
e colocado em uma consulta dinâmica como select department.*
from department
cross join
(select '%Medi%' as value from dual
union
select '%Ciga%' from dual
union
select '%Tabacc%' from dual) conditionTable
where department.departmentName like conditionTable.value;