соединение с rightouter

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

Схема, показывающая, как работает соединение.

Синтаксис

Леваяtable|joinkind=rightouter [ Указания ] RightTableonУсловия

Дополнительные сведения о соглашениях о синтаксисе.

Параметры

Имя Тип Обязательно Описание
LeftTable string ✔️ Левая таблица или табличное выражение, иногда называемое внешней таблицей, строки которой должны быть объединены. Обозначается как $left.
Указания string Ноль или более указаний соединения с разделителями пробелами в виде значения имени=, которые управляют поведением операции сопоставления строк и плана выполнения. Дополнительные сведения см. в разделе Подсказки.
RightTable string ✔️ Правильная таблица или табличное выражение, иногда называемое внутренней таблицей, строки которой должны быть объединены. Обозначается как $right.
Условия string ✔️ Определяет, как строки из LeftTable сопоставляются со строками из RightTable. Если столбцы, которые нужно сопоставить, имеют одинаковые имена в обеих таблицах, используйте синтаксис ONColumnName. В противном случае используйте синтаксис ON $left.LeftColumn==$right.RightColumn. Чтобы указать несколько условий, можно использовать ключевое слово "и" или разделять их запятыми. Если используются запятые, условия вычисляются с помощью логического оператора "и".

Совет

Для оптимальной производительности, если одна таблица всегда меньше другой, используйте ее в качестве левой части соединения.

Указания

Имя параметра Значения Описание
hint.remote auto, left, local, right См. статью Межкластерный оператор join.
hint.strategy=broadcast Указывает способ совместного использования нагрузки запросов на узлы кластера. См . статью о присоединении к широковещател
hint.shufflekey=<key> Запрос shufflekey распределяет нагрузку на узлы кластера, используя ключ для секционирования данных. См. статью о запросе на перемешивание
hint.strategy=shuffle Стратегический shuffle запрос распределяет нагрузку запросов на узлы кластера, где каждый узел обрабатывает одну секцию данных. См. статью о запросе на перемешивание

Возвращаемое значение

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

Пример

let X = datatable(Key:string, Value1:long)
[
    'a',1,
    'b',2,
    'b',3,
    'c',4
];
let Y = datatable(Key:string, Value2:long)
[
    'b',10,
    'c',20,
    'c',30,
    'd',40
];
X | join kind=rightouter Y on Key

Выходные данные

Ключ Значение1 Key1 Значение2
b 2 b 10
b 3 b 10
с 4 с 20
с 4 с 30
d 40