SQLLab
Глоссарий/FULL OUTER JOIN
JOINСредний

FULL OUTER JOIN

Возвращает все строки из обеих таблиц. Где нет совпадения — NULL с соответствующей стороны.

Синтаксис
SELECT ... FROM t1 FULL OUTER JOIN t2 ON t1.id = t2.t1_id;

Объяснение

FULL OUTER JOIN = LEFT JOIN + RIGHT JOIN (без дублей). Используется редко, но полезен для нахождения несоответствий между двумя таблицами. Пример использования: сравнить данные в двух таблицах и найти строки, которые есть только в одной.

Пример

-- Найти несоответствия между двумя источниками данных
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;