Я просто выбрал бы:
select a.*
from airport a
where exists (select 1
from flight f join
airport a2
where f2.arrivalcity = a2.city and
f2.departurecity = a.city and
a2.nation <> a.nation
);
Обратите внимание, что для этого не требуется select distinct
, если только вам не нужен список городов, а не только аэропорты.Таким образом, она должна быть намного быстрее, чем двойная join
версия.