Leider funktioniert ein "fetch first 1 rows only" nicht im Join, da dieser generell nur mit dem 1. Satz der gesamten Tabelle überhaupt durchgeführt wird.

Es gibt allerdings (je nach Release) folgende Möglichkeit:

select * from file1
cross join lateral table (
select * from file2 where file1.key = file2.key
fetch first 1 rows only
) f2

Ein Lateral-Zugriff wird tatsächlich je Zeile ausgeführt.