Выполняет полное внешнее соединение.
Дополнительное описание:
Результатом полного внешнего соединения является таблица, которая включает строки, которые являются результатом внутреннего (аналогично LeftJoin) соединения, плюс строки первой таблицы, не удовлетворяющие условию соединения (в этих строках значения в столбцах второй таблицы заполняются нулем), и строки второй таблицы, которые не удовлетворяют условию соединения (в этих значениях строк в столбцах первой таблицы заполняются нулевыми значениями). В результирующую таблицу включаются ВСЕ поля обеих таблиц.
При использовании FullJoinAuto мы экономим на «соединении» столбцов с одинаковым значением в один.
Упрощенный синтаксис применим в большинстве случаев, встречающихся на практике. Но для успешного применения упрощенного синтаксиса необходимо перед объединением подготовить состав столбцов в исходных таблицах: установить нужные псевдонимы, удалить лишние столбцы, выбрать нужные.
Если желаемый результат не может быть достигнут с использованием упрощенного синтаксиса, следует использовать полную версию синтаксиса.
Формат:
FullJoinAuto (tempTable, joinCondition)
Параметры:
- tempTable — имя присоединяемой таблицы: $result_1, $result_2 и так далее.
- joinCondition — условия соединения: result_1.product = product. В условиях можно использовать «and» или «or» для сложных условий.
Возвращаемый тип данных:
Таблица
Пример:
Сотрудники | Last (сотрудник, ставка);
Выработка | GroupBy (сотрудник, часы) | FullJoinAuto ($result_1, сотрудник = result_1.сотрудник) | Compute (зарплата, ставка * часы)
Комментарии к примеру. Выбираем ставки сотрудников из Журнала Ставки, помещаем во временную таблицу $result_1. Затем выбираем отработанные часы сотрудников из Журнала Расписание. Выполняем левое соединение по условию сопоставления по сотруднику. Затем рассчитываем заработную плату.