Há precedência com operadores lógicos. Na dúvida, use parênteses.
No seu caso:
SELECT * FROM database WHERE (name = var1 OR name = var2 OR name = var3) AND id < 200
Sua consulta original foi interpretada da seguinte maneira porque o
AND
tem maior precedência. SELECT * FROM database WHERE name = var1 OR name = var2 OR (name = var3 AND id < 200)
Atualizar
Conforme comentado por Rocket , você pode condensar seu
OR
declarações para IN
uma vez que operam no mesmo campo. Isso eliminaria a necessidade de parênteses. SELECT * FROM database WHERE name IN (var1,var2,var3) AND id < 200
No entanto, é importante entender a diferença entre as duas consultas originais, pois você inevitavelmente escreverá consultas com várias condições.