XQuery选择和过滤
发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,解释 XQuery 最佳方式是这样讲:XQuery 相对于 XML 的关系,等同于 SQL 相对于数据库表的关系。XQuery 被设计用来查询 XML 数据 - 不仅仅限于 XML 文件,还包括任何可
千家信息网最后更新 2024年11月11日XQuery选择和过滤
解释 XQuery 最佳方式是这样讲:XQuery 相对于 XML 的关系,等同于 SQL 相对于数据库表的关系。XQuery 被设计用来查询 XML 数据 - 不仅仅限于 XML 文件,还包括任何可以 XML 形态呈现的数据,包括数据库。 |
选择和过滤元素
正如在前面的章节所看到的,我们使用路径表达式或 FLWOR 表达式来选取和过滤元素。
请看下面的 FLWOR 表达式:
for $x in doc("books.xml")/bookstore/book where $x/price>30 order by $x/title return $x/title
• for - (可选) 向每个由 in 表达式返回的项目捆绑一个变量
• let - (可选)
• where - (可选) 设定一个条件
• order by - (可选) 设定结果的排列顺序
• return - 规定在结果中返回的内容
for 语句
for 语句可将变量捆绑到由 in 表达式返回的每个项目。for 语句可产生迭代。在同一个 FLWOR 表达式中可存在多重 for 语句。
如需在一个 for 语句中进行指定次数地循环,您可使用关键词 to :
for $x in (1 to 5) return{$x}
结果:
1 2 3 4 5
关键词 at 可用于计算迭代:
for $x at $i in doc("books.xml")/bookstore/book/title return{$i}. {data($x)}
结果:
1. Everyday Italian 2. Harry Potter 3. XQuery Kick Start 4. Learning XML
在 for 语句中同样允许多个 in 表达式。请使用逗号来分割每一个 in 表达式:
for $x in (10,20), $y in (100,200) returnx={$x} and y={$y}
结果:
x=10 and y=100 x=10 and y=200 x=20 and y=100 x=20 and y=200
let 语句
let 语句可完成变量分配,并可避免多次重复相同的表达式。let 语句不会导致迭代。
let $x := (1 to 5) return{$x}
结果:
1 2 3 4 5
where 语句
where 语句用于为结果设定一个或多个条件(criteria)。
where $x/price>30 and $x/price<100
order by 语句
order by 语句用于规定结果的排序次序。在这里,我们要根据 category 和 title 来对结果进行排序:
for $x in doc("books.xml")/bookstore/book order by $x/@category, $x/title return $x/title
结果:
Harry Potter Everyday Italian Learning XML XQuery Kick Start
return 语句:
return 语句规定要返回的内容。
for $x in doc("books.xml")/bookstore/book return $x/title
结果:
Everyday Italian Harry Potter XQuery Kick Start Learning XML
原文来自: https://www.linuxprobe.com/xquery-selection-filtering.html
语句
结果
表达式
数据
变量
迭代
元素
关键
关键词
内容
多个
数据库
条件
项目
排序
选择
相同
不仅仅
原文
形态
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手机软件开发需求分析
初始化数据库配置
如何连接数据库服务器
宽带连接服务器无响应
天津技术软件开发介绍
惠普服务器统一管理
catia 服务器
网络安全模式怎么操作
网络安全通用模型的说明
网络安全进学校的话怎么说
获取京东价格保存数据库
服务器安全白名单怎么设置
网络安全防护的基本方法
济南网络安全技术提升费用多少
济南软件开发多少钱
网络安全主题团日教学图片
荒野乱斗十种服务器
2021网络安全宣传周时间推迟
出现网络安全的问题
软件开发概要设计包括
数据收集是数据库核心任务
软件开发工程师转erp
山东博明见互联网科技
校园网络安全教育横幅
获取京东价格保存数据库
阿里服务器断线
exce扩展数据库
自考软件开发工具电子书
网络技术考什么的
前端登陆注册链接数据库