Для начала, с того места, где я стою, вы используете (временную) таблицу country_list в качестве таблицы PRIMARY и сопоставляете ее с ox_bidding_configuration, где это возможно (левое внешнее соединение); следовательно, ваш набор результатов содержит только страны SA & IN.
Хотя я не уверен на 100%, что этот синтаксис работает на MYSQL, но для TSQL я бы написал ваш запрос следующим образом:
SELECT dt.country_name as country,
dt.operator,
COALESCE(dt.cpm, def.cpm) as updated_cpm,
COALESCE(dt.cpc, def.cpc) as updated_cpd,
COALESCE(dt.cpa, def.cpa) as updated_cpa
FROM (SELECT DISTINCT a.country_name,
b.operator,
b.cpm,
b.cpc,
b.cpa
FROM country_list a
LEFT OUTER JOIN ox_bidding_configuration as b
ON b.country = a.country_name ) dt
LEFT OUTER JOIN ox_bidding_configuration def
ON def.country = ''
AND def.operator = ''
ИМХО, это более понятно и, вероятно, немного быстрее, так как конфигурацию по умолчанию нужно получить только один раз.
Чтобы избавиться от таблицы country_list, вы можете преобразовать ее в встроенный запрос, но, честно говоря, я не вижу в этом пользы.
Что-то вроде следующего:
SELECT dt.country_name as country,
dt.operator,
COALESCE(dt.cpm, def.cpm) as updated_cpm,
COALESCE(dt.cpc, def.cpc) as updated_cpd,
COALESCE(dt.cpa, def.cpa) as updated_cpa
FROM (SELECT DISTINCT a.country_name,
b.operator,
b.cpm,
b.cpc,
b.cpa
FROM (SELECT 'SA' AS country_name
UNION ALL
SELECT 'IN') a
LEFT OUTER JOIN ox_bidding_configuration as b
ON b.country = a.country_name ) dt
LEFT OUTER JOIN ox_bidding_configuration def
ON def.country = ''
AND def.operator = ''