Vous avez besoin de left join plutôt que right join ou vous pouvez également modifier la position des tableaux
SELECT sum(steps), date(from_unixtime(td.db_date)) as stepdate
FROM time_dimension td
LEFT JOIN userdata u
ON date(from_unixtime(u.in_date)) = td.db_date
WHERE user_id = 8
GROUP BY date(from_unixtime(td.db_date))
ORDER BY stepdate DESC;
Cependant, cela suppose time_dimension table traitant comme table de calendrier.