| Каталог | Индекс раздела |
| Назад | Содержание | Вперед |
DB2 XQuery предоставляет операторы для комбинирования последовательностей узлов. Это такие операторы, как union, intersect и except.
Следующая таблица описывает операторы комбинирования последовательностей узлов.
Таблица 1. Операторы XQuery для комбинирования последовательностей узлов
| Оператор | Описание |
| union или | | Принимает в качестве операндов две последовательности и возвращает последовательность, которая содержит все узлы, встречающиеся в любом из операндов. Ключевое слово union и символ | эквивалентны. |
| intersect | Принимает в качестве операндов две последовательности и возвращает последовательность, которая содержит все узлы, встречающиеся в обоих операндах. |
| except | Принимает в качестве операндов две последовательности и возвращает последовательность, которая содержит все узлы, встречающиеся в первом операнде, но не встречающиеся во втором операнде. |
Все эти операторы избавляются от дубликатов узлов в результирующей последовательности, основываясь на идентификации узлов. Результирующая последовательность возвращается в порядке документа.
Операнды union, intersect или except должны быть последовательностями, которые содержат только узлы. Если операнд содержит пункт, который не является узлом, будет возвращена ошибка.
В дополнение к операторам, описанным в этом разделе, XQuery в DB2 обеспечивает функции для обращения по индексам к пунктам или под-последовательностям последовательности (fn:index-of), для вставки или удаления по индексу пунктов в последовательности (fn:insert-before and fn:remove) и для удаления дубликатов пунктов из последовательности (fn:distinct-values).
Примеры
В этих примерах предположим, что переменная $managers связана с набором узлов сотрудников, которые являются руководителями, а переменная $students связана с набором узлов сотрудников, которые являются студентами.
Все следующие выражения являются правильными примерами использования операторов комбинирования последовательностей узлов:
$managers union $students возвращает набор узлов, которые представляют сотрудников, которые являются либо руководителями, либо студентами.
$managers intersect $students возвращает набор узлов, которые представляют сотрудников, которые являются и руководителями, и студентами.
$managers except $students возвращает набор узлов, которые представляют сотрудников, которые являются руководителями, но не студентами.
| Назад | Содержание | Вперед |
| Каталог | Индекс раздела |