Лучше рассчитывать подсчеты отдельно и условно запускать скрипт перезаписи вставки в зависимости от подсчетов. Если вам нужен тот же logi c в одном запросе SQL, это также можно сделать, хотя и не так эффективно:
INSERT OVERWRITE TABLE C
SELECT a.col1, a.col2... --list columns here instead of a.*
FROM (select a.*,
count(*) over() as numRowsA, --counr rows in A
b.numRowsB
from A
cross join (select count(*) numRowsB from B) b --count rows in B
) a
WHERE a.numRowsA>a.numRowsB;
Если (a.numRowsA>a.numRowsB) <> TRUE
, то select не вернет строк и таблицы C
не будет перезаписан.