Uma opção seria usar
UNION ALL
com EXISTS
:SELECT *
FROM proxies
WHERE A='B'
UNION ALL
SELECT *
FROM proxies
WHERE A='C' AND NOT EXISTS (
SELECT 1
FROM proxies
WHERE A='B'
)
Isso retornará linhas dos
proxies
tabela onde A='B'
se existem. No entanto, se eles não existirem, ele procurará essas linhas com A='C'
.