SQL Outer Join: комбинируем данные из нескольких таблиц

SQL Outer Join позволяет объединять таблицы, в каждой из которых могут быть некоторые значения, которые не имеют соответствующего значения в другой таблице. Таким образом, в результате запроса будут выведены все строки исходных таблиц, а там, где в одной таблице нет значений, будут выведены значения NULL.

SQL Outer Join может быть двух типов - LEFT OUTER JOIN и RIGHT OUTER JOIN.

LEFT OUTER JOIN

LEFT OUTER JOIN объединяет строки из левой таблицы с соответствующими строками из правой таблицы, если такие строки имеются. В случае, если в правой таблице нет соответствующих строк, то для них будут выведены значения NULL. Например:

SELECT *

FROM TableA

LEFT OUTER JOIN TableB

ON TableA.Id = TableB.Id;

Результатом будет таблица, в которой будут содержаться все строки из таблицы TableA и только те строки из таблицы TableB, которые имеют совпадающий идентификатор Id:

TableA.Id | TableA.Name | TableB.Id | TableB.Value

----------------------------------------------------

1 | John | 1 | Value1

2 | Mike | NULL | NULL

3 | Sam | 3 | Value3

RIGHT OUTER JOIN

RIGHT OUTER JOIN объединяет строки из правой таблицы с соответствующими строками из левой таблицы, если такие строки имеются. В случае, если в левой таблице нет соответствующих строк, то для них будут выведены значения NULL. Например:

SELECT *

FROM TableA

RIGHT OUTER JOIN TableB

ON TableA.Id = TableB.Id;

Результатом будет таблица, в которой будут содержаться все строки из таблицы TableB и только те строки из таблицы TableA, которые имеют совпадающий идентификатор Id:

TableA.Id | TableA.Name | TableB.Id | TableB.Value

----------------------------------------------------

1 | John | 1 | Value1

NULL | NULL | 2 | Value2

3 | Sam | 3 | Value3

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

Таким образом, SQL Outer Join предоставляет мощный механизм для объединения данных из нескольких таблиц, позволяя выводить значения, которые отсутствуют в одной из таблиц, но могут быть необходимы в результирующей таблице.

Похожие вопросы на: "sql outer join "

Bitbucket: система управления Git для разработчиков ПО
Node Version Manager - легкий способ контроля версий Node.js
CreateObjectAsync: Asynchronous Object Creation Made Easy
Django документация: учебник для начинающих и расширенное руководство по веб-разработке на Python
Ресурсы и библиотеки MATLAB
Max Width: как правильно задавать максимальную ширину контента
Classmethod Python: Boost Your Programming Skills with the Best
<h1>Java Integer to String - Convert int to String and String to int
Скачать CMake: установка и настройка
Shelve: ваш каталог для личной библиотеки и хранения вещей