Better ways than rownum limits on a union all for fallback-style queries?
Maybe like this:

select * from (
 Select ... from ... where rownum = 1
 union all
 Select ... from ... where rownum = 1
 union all
 Select ... from ... where rownum = 1
) where rownum = 1


If you want to retrieve only one row of each table there is no need to read any more and limit the rows as early as possible.