Почему LIKE не учитывает IN ()?
Скорее всего дело в OR. Сгруппируйте условия используя скобки.
Вам бы про приоритеты логических операторов почитать. В вашем случае условие WHERE разберется так:u.user_id IN (37273,37705,38184,39783) AND u.full_name LIKE '%богд%'
или
u.middle_name LIKE '%богд%' AND u.status_id = 0 AND u.view_id = 0
Если я правильно понял что вы хотите, то нужно написать так:u.user_id IN (37273,37705,38184,39783) AND (u.full_name LIKE '%богд%' OR u.middle_name LIKE '%богд%') AND u.status_id = 0 AND u.view_id = 0
Но вообще OR не рекомендуют использовать на больших объемах данных, т.к. он практически всегда ломает выборку по индексам.