Чтобы получить те же результаты, что и ваш запрос выше, вы можете сделать это:
SELECT COALESCE(a.c, b.c) AS c
FROM a
FULL OUTER JOIN b
ON b.c = a.c
Однако это даст вам те же результаты, что и UNION, который не совсем совпадает с UNION ALL (поскольку дубликаты будут удалены). Чтобы выполнить UNION all, вам нужно сделать то же самое, но при условии сбоя условия соединения:
SELECT COALESCE(a.c, b.c) AS c
FROM a
FULL OUTER JOIN b
ON 1 = 0
В любом случае, я не уверен, что это будет намного быстрее, чем сделать это с помощью UNION.