Istnieje kilka prostych sposobów, aby używać tylko sql.
Zdefiniuj pierwsze zapytanie jako tabelę tymczasową, korzystając z opcji union all, przefiltruj drugie zapytanie za pomocą licznika tabeli tymczasowej.
with temp as (select * from t1 where 1=0)
select * from temp
union all
select * from t2 where (select count(*) from temp) =0
To zapytanie zwróci rekordy drugiej tabeli.
with temp as (select * from t1 )
select * from temp
union all
select * from t2 where (select count(*) from temp) =0
A jeśli zapytanie tymczasowe ma wynik, zwróć tylko zapytanie tymczasowe.
Możesz testować za pomocą sql skrzypce tutaj .