Я не понимаю, зачем вам нуля, которые вы используете в своем примере, означает ли это, что не каждая строка в одной таблице имеет каждый "тикер" на другой? Является ли даже «тикером» связь между двумя таблицами?
Если все вышеизложенные предположения верны, то что-то вроде этого должно быть тем, что вы хотите:
select splits.*, dividends.* from splits left join dividends
on (splits.ticker = dividends.ticker)
order by splits.day, dividends.day, splits.ticker
РЕДАКТИРОВАТЬ: Основываясь на комментариях, вы можете искать союз
select a.ticker,a.ratio_or_amount,a.day,a.what from (
select ticker, day, ratio as ratio_or_amount, 'splits' as what from splits
union
select ticker, day, amount as ratio_or_amount, 'dividends' as what from dividends
) a order by a.day
Это безобразно, но я действительно не могу понять, что вы ищете. Похоже, вы пропустили переподготовку по теории отношений .