Сравнение IN () с несколькими столбцами просто сравнивает ВСЕ столбцы в том порядке, в котором вы их представляете, но есть веская причина, по которой вам следует включать псевдонимы таблиц в ссылках на столбцы:
where (f1.buy_ccy , f1.sell_ccy)
not in (select fxbook.sell_ccy, fxbook.buy_ccy from fxbook ...)
SO f1.buy_ccy compares to fxbook.sell_ccy
AND f1.sell_ccy compares to fxbook.buy_ccy
Думайте о NOT
как о the inverse of
. Здесь, если есть совпадение, оно преобразуется в ложь, а если совпадения не было, оно преобразуется в истину. Истинные строки - это те, которые возвращаются запросом.