| Эта статья поднимает множество проблем. Пожалуйста помоги Улучши это или обсудите эти вопросы на страница обсуждения. (Узнайте, как и когда удалить эти сообщения-шаблоны) | Тема этой статьи может не соответствовать Википедии общее руководство по известности. Пожалуйста, помогите установить известность, указав надежные вторичные источники которые независимый темы и обеспечить ее подробное освещение, помимо банального упоминания. Если известность не может быть установлена, статья, вероятно, будет слился, перенаправлен, или же удалено. Найдите источники: "FLWOR" – Новости · газеты · книги · ученый · JSTOR (Август 2011 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
| эта статья нужны дополнительные цитаты для проверка. Пожалуйста помоги улучшить эту статью к добавление цитат в надежные источники. Материал, не полученный от источника, может быть оспорен и удален. Найдите источники: "FLWOR" – Новости · газеты · книги · ученый · JSTOR (Июнь 2016) (Узнайте, как и когда удалить этот шаблон сообщения) |
(Узнайте, как и когда удалить этот шаблон сообщения) |
Язык программирования XQuery определяет FLWOR (произносится как «цветок») как выражение, поддерживающее итерацию и привязку переменных к промежуточным результатам. FLWOR это аббревиатура: ДЛЯ, ПОЗВОЛЯТЬ, ГДЕ, ЗАКАЗАТЬ, ВОЗВРАТ.[1] FLWOR примерно аналогичен SQL с ВЫБРАТЬ ОТ ГДЕ и может использоваться для обеспечения функциональности, подобной соединению, для XML документы.
- за создает последовательность узлов
- позволять связывает последовательность с переменной
- где фильтрует узлы по логическому выражению
- Сортировать по сортирует узлы
- вернуть оценивается один раз для каждого узла
пример
за $d в док("depts.xml")//deptno позволять $е := док("emps.xml")//наемный рабочий[deptno = $d] где считать($е) >= 10 Сортировать по средний($е/зарплата) нисходящий вернуть <big-dept>{ $d, <headcount>{считать($е)}</headcount>, <avgsal>{средний($е/зарплата)}</avgsal> }</big-dept>
Первый столбец запроса XQuery показывает за, позволять, где, Сортировать по и вернуть ключевые слова парадигмы FLWOR. На простом английском это можно было бы прочитать как «Получите все отделы, в которых работает более десяти сотрудников, упорядочите эти отделы, уменьшив среднюю зарплату, и верните отчет о количестве отделов, количестве руководителей и средней заработной плате в каждом большом отделе». Результат может выглядеть так:
<big-dept> <deptno>17</deptno> <headcount>25</headcount> <avgsal>12500</avgsal></big-dept><big-dept> <deptno>24</deptno> <headcount>18</headcount> <avgsal>11327</avgsal></big-dept><big-dept> <deptno>3</deptno> <headcount>32</headcount> <avgsal>10725</avgsal></big-dept>
Пример использования Microsoft SQL Server
ЗАЯВИТЬ@xmlXMLНАБОР@xml='<корневой_элемент> <branch_element> <item_1>42</item_1> <item_2>27</item_2> </branch_element> <branch_element> <item_1>a</item_1> <item_2>b</item_2> </branch_element> 'ВЫБРАТЬ Икс.у.запрос('for $ s в self :: node () return $ s // item_1 / text ()')так какя, Икс.у.запрос('for $ s в self :: node () return $ s // item_2 / text ()')так какj ИЗ@xml.узлы('/ root_element')В КАЧЕСТВЕИкс(у);
Рекомендации
внешняя ссылка