Если вы хотите, чтобы строки T1
, которые не существуют в T2
с объединением, используйте LEFT JOIN
:
select T1.*
from T1 left join T2
on T2.col1 = T1.col1 and T2.col2 = T1.col2
where T2.col1 is null
Если вы хотите, чтобы строки, которые не являются общими в 2 таблицы, которые вы можете сделать с помощью FULL OUTER JOIN
:
select
coalesce(T1.col1, T2.col1) col1,
coalesce(T1.col2, T2.col2) col2
from T1 full outer join T2
on T2.col1 = T1.col1 and T2.col2 = T1.col2
where T1.col1 is null or T2.col1 is null
Условие в предложении WHERE
гарантирует, что будут возвращены только строки, принадлежащие одной, а не другой из таблиц. Смотрите демо . Результаты:
> COL1 | COL2
> ---: | :---
> 1 | a