FULL OUTER JOIN
Возвращает все строки из обеих таблиц. Где нет совпадения — NULL с соответствующей стороны.
SELECT ... FROM t1 FULL OUTER JOIN t2 ON t1.id = t2.t1_id;
Объяснение
Пример
-- Найти несоответствия между двумя источниками данных SELECT a.id AS id_a, b.id AS id_b FROM source_a a FULL OUTER JOIN source_b b ON a.id = b.id WHERE a.id IS NULL OR b.id IS NULL;
Связанные термины
Анекдоты по теме
— Что такое foreign data wrapper? — Механизм для доступа к внешним источникам данных через SQL. — Примеры? — postgres_fdw: другой PostgreSQL сервер. — mysql_fdw: MySQL. — file_fdw: CSV файл. — Запросы работают как с обычными таблицами? — Да. JOIN между локальными и внешними данными. — Производительность? — Зависит от FDW. Pushdown предикатов — не всегда.
Таблица Users пишет таблице Orders: — Ты забыл про меня. Мы не связаны. Orders: — У тебя нет внешнего ключа ко мне. Users: — Значит, я буду NULL в твоей жизни. DBA: — Это LEFT JOIN, успокойтесь.
Начинающий: — Я написал JOIN, а строк стало больше, чем было! Опытный: — Поздравляю. Ты сделал CROSS JOIN. Забыл ON.