Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:
Databricks SQL
Databricks Runtime
Объединяет предыдущие subquery1 и subquery2 в одну. Azure Databricks поддерживает три типа операторов множеств:
EXCEPTINTERSECTUNION
Синтаксис
{ UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] subquery2 } [...]
-
Любые два предложения
subquery, указанные в SELECT (subselect). Оба вложенных запроса должны иметь одинаковое число столбцов и наименьший общий тип для каждого соответствующего столбца. UNION [ALL | DISTINCT]
Возвращает результат
subquery1плюс строкиsubquery2.Если указан параметр
ALL, то дублирующиеся строки сохраняются.Если указан параметр
DISTINCT, то результат не содержит повторяющихся строк. Это значение по умолчанию.INTERSECT [ALL | DISTINCT]
Возвращает набор строк, которые возвращаются обоими подзапросами.
Если указан параметр
ALL, то любая строка, которая несколько раз встречается вsubquery1и вsubquery, будет включена в ответ несколько раз.Если указан параметр
DISTINCT, то результат не будет содержать повторяющихся строк. Это значение по умолчанию.ЗА ИСКЛЮЧЕНИЕМ [ALL | DISTINCT ]
Возвращает строки из
subquery1, которые не входят вsubquery2.Если указан параметр
ALL, каждая строка вsubquery2будет удалять только одно из возможных совпадений изsubquery1.Если указан параметр
DISTINCT, то перед применением операции изsubquery1удаляются дублирующиеся строки, поэтому удаляются все совпадения и результат не будет содержать повторяющихся строк (как совпадающих, так и не совпадающих). Это значение по умолчанию.Можно указать
MINUSвместоEXCEPT.
При объединении операций в цепочки INTERSECT имеет более высокий приоритет, чем UNION и EXCEPT.
Тип каждого результирующего столбца является наименьшим общим типом для соответствующих столбцов в subquery1 и subquery2.
Если результирующий столбец является STRING, то его сортировка определяется путем применения правил сортировки по приоритету к столбцам вложенных запросов.
Примеры
-- Use number1 and number2 tables to demonstrate set operators in this page.
> CREATE TEMPORARY VIEW number1(c) AS VALUES (3), (1), (2), (2), (3), (4);
> CREATE TEMPORARY VIEW number2(c) AS VALUES (5), (1), (1), (2);
> SELECT c FROM number1 EXCEPT SELECT c FROM number2;
3
4
> SELECT c FROM number1 MINUS SELECT c FROM number2;
3
4
> SELECT c FROM number1 EXCEPT ALL (SELECT c FROM number2);
3
3
4
> SELECT c FROM number1 MINUS ALL (SELECT c FROM number2);
3
3
4
> (SELECT c FROM number1) INTERSECT (SELECT c FROM number2);
1
2
> (SELECT c FROM number1) INTERSECT DISTINCT (SELECT c FROM number2);
1
2
> (SELECT c FROM number1) INTERSECT ALL (SELECT c FROM number2);
1
2
2
> (SELECT c FROM number1) UNION (SELECT c FROM number2);
1
3
5
4
2
> (SELECT c FROM number1) UNION DISTINCT (SELECT c FROM number2);
1
3
5
4
2
> SELECT c FROM number1 UNION ALL (SELECT c FROM number2);
3
1
2
2
3
4
5
1
1
2