Я не уверен, что понимаю, о чем вы спрашиваете. «Пересечение» - это математический термин, который указывает, что вы хотите определить, какие значения существуют в обеих таблицах. Но отправленный вами запрос, похоже, ищет противоположное - набор строк в одной таблице, которых нет в другой.
Если вы действительно имеете в виду пересечение
SELECT rout.file_key,
rout.rout_no,
loc.country_id
FROM rout_tbl rout
JOIN loc_tbl loc ON (rout.file_key = loc.catalog_no)
Если вы хотите, чтобы все строки в ROUT
не существовали в LOC
SELECT rout.file_key,
rout.rout_no
FROM rout_tbl rout
WHERE NOT EXISTS( SELECT 1
FROM loc_tbl loc
WHERE loc.catalog_no = rout.file_key )
Если вам нужны данные из ROUT
вместе с данными из LOC
, если они существуют
SELECT rout.file_key,
rout.rout_no,
loc.country_id
FROM rout_tbl rout
LEFT OUTER JOIN loc_tbl loc ON (rout.file_key = loc.catalog_no)