в результате левого внешнего соединения
Как видно, в результате левого внешнего соединения сохраняются все данные первого (левого) операнда.
Результатом операции table1 RIGHT OUTER JOIN table2 ON a1=b1 AND a2<b2 (правое внешнее соединение по условию) будет следующая таблица:
| a1 | a2 | table1.c1 | table1.c2 | b1 | b2 | table2.c1 | table2.c2 |
| 1 | 1 | 1 | 1 | 1 | 2 | 2 | 3 |
| 1 | 1 | 2 | 3 | 1 | 2 | 2 | 3 |
| 1 | 1 | 2 | 3 | 1 | 2 | 2 | 3 |
| NULL | NULL | NULL | NULL | 1 | 1 | 1 | 1 |
| NULL | NULL | NULL | NULL | 3 | 3 | 2 | 3 |
| NULL | NULL | NULL | NULL | 4 | 4 | 4 | 4 |
| NULL | NULL | NULL | NULL | 3 | NULL | NULL | 5 |
| NULL | NULL | NULL | NULL | 3 | NULL | NULL | 5 |
Как видно, в результате правого внешнего соединения сохраняются все данные второго (правого) операнда.
Результатом операции table1 FULL OUTER JOIN table2 ON a1=b1 AND a2<b2 (полное внешнее соединение по условию) будет следующая таблица:
| a1 | a2 | table1.c1 | table1.c2 | b1 | b2 | table2.c1 | table2.c2 |
| 1 | 1 | 1 | 1 | 1 | 2 | 2 | 3 |
| 1 | 1 | 2 | 3 | 1 | 2 | 2 | 3 |
| 1 | 1 | 2 | 3 | 1 | 2 | 2 | 3 |
| 2 | 3 | 4 | NULL | NULL | NULL | NULL | NULL |
| 3 | NULL | NULL | 5 | NULL | NULL | NULL | NULL |
| NULL | NULL | NULL | NULL | 1 | 1 | 1 | 1 |
| NULL | NULL | NULL | NULL | 3 | 3 | 2 | 3 |
| NULL | NULL | NULL | NULL | 4 | 4 | 4 | 4 |
| NULL | NULL | NULL | NULL | 3 | NULL | NULL | 5 |
| NULL | NULL | NULL | NULL | 3 | NULL | NULL | 5 |
Как видно, в результате полного внешнего соединения сохраняются данные обоих операндов. Кстати, полное внешнее соединение иногда называют еще симметричным внешним соединением. Очевидно, что все операции внутреннего соединения и операция полного внешнего соединения коммутативны, а операции левого и правого соединения коммутативными не являются.
Результатом операции table1 LEFT OUTER JOIN table2 USING (c2) (левое внешнее соединение по совпадению значений указанных одноименных столбцов>) будет следующая таблица:
| a1 | a2 | table1.c1 | c2 | b1 | b2 | table2.c1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 2 | 3 | 1 | 2 | 2 |
| 1 | 1 | 2 | 3 | 3 | 3 | 2 |
| 1 | 1 | 2 | 3 | 1 | 2 | 2 |
| 1 | 1 | 2 | 3 | 3 | 3 | 2 |
| 3 | NULL | NULL | 5 | 3 | NULL | NULL |
| 3 | NULL | NULL | 5 | 3 | NULL | NULL |
| 2 | 3 | 4 | NULL | NULL | NULL | NULL |
Результатом операции table1 RIGHT OUTER JOIN table2 USING (c2) (правое внешнее соединение по совпадению значений указанных одноименных столбцов) будет следующая таблица:
| a1 | a2 | table1.c1 | c2 | b1 | b2 | table2.c1 |
| 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 1 | 2 | 3 | 1 | 2 | 2 |
| 1 | 1 | 2 | 3 | 3 | 3 | 2 |
| 1 | 1 | 2 | 3 | 1 | 2 | 2 |
| 1 | 1 | 2 | 3 | 3 | 3 | 2 |
| 3 | NULL | NULL | 5 | 3 | NULL | NULL |
| 3 | NULL | NULL | 5 | 3 | NULL | NULL |
| NULL | NULL | NULL | 4 | 4 | 4 | 4 |