返回顶部
首页 > 资讯 > 数据库 >如何快速入门SQL Server XML查询
  • 586
分享到

如何快速入门SQL Server XML查询

2024-04-02 19:04:59 586人浏览 泡泡鱼
摘要

本篇文章给大家分享的是有关如何快速入门SQL Server XML查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。sql xml 入门: -

本篇文章给大家分享的是有关如何快速入门SQL Server XML查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

sql xml 入门: --by jinjazz 1、xml: 能认识元素、属性和值 2、xpath: 寻址语言,类似windows目录的查找(没用过dir命令的话就去面壁) 语法格式,这些语法可以组合为条件: "."表示自己,".."表示父亲,"/"表示儿子,"//"表示后代, "name"表示按名字查找,"@name"表示按属性查找 "集合[条件]" 表示根据条件取集合的子集,条件可以是 数 值:数字,last(),last()-数字 等 布尔值:position()<数字,@name='条件',name='条件' 条件是布尔值的时候可以合并计算:and or 3、xquery: 基于xpath标的准查询语言,sqlserver xquery包含如下函数 exist(xpath条件):返回布尔值表示节点是否存在 query(xpath条件):返回由符合条件的节点组成的新的xml文档 value(xpath条件,数据类型):返回指定的标量值,xpath条件结果必须唯一 nodes(xpath条件): 返回由符合条件的节点组成的一行一列的结果表 */ declare @data xml set @data=' <bookstore> <book cateGory="COOKING"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="CHILDREN"> <title lang="jp">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="WEB"> <title lang="en">XQuery Kick Start</title> <author>James McGovern</author> <author>Per Bothner</author> <author>Kurt Cagle</author> <author>James Linn</author> <author>Vaidyanathan Nagarajan</author> <year>2003</year> <price>49.99</price> </book> <book category="WEB"> <title lang="cn">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore> ' --测试语句,如果不理解语法请参考上面的xpath规则和xquery函数说明 --1、文档 select @data --2、任意级别是否存在price节点 select @data.exist('//price') --3、获取所有book节点 select @data.query('//book') --4、获取所有包含lang属性的节点 select @data.query('//*[@lang]') --5、获取第一个book节点 select @data.query('//book[1]') --6、获取前两个book节点 select @data.query('//book[position()<=2]') --7、获取最后一个book节点 select @data.query('//book[last()]') --8、获取price>35的所有book节点 select @data.query('//book[price>35]') --9、获取category="WEB"的所有book节点 select @data.query('//book[@category="WEB"]') --10、获取title的lang="en"的所有book节点 select @data.query('//book/title[@lang="en"]') --11、获取title的lang="en"且 price>35的所有book节点 select @data.query('//book[./title[@lang="en"] or price>35 ]') --12、获取title的lang="en"且 price>35的第一book的(第一个)title select @data.query('//book[./title[@lang="en"] and price>35 ]').value('(book/title)[1]','varchar(max)') --13、等价于12 select @data.value('(//book[./title[@lang="en"] and price>35 ]/title)[1]','varchar(max)') --14、获取title的lang="en"且 price>35的第一book的(第一个)title的lang属性 select @data.value('((//book[@category="WEB" and price>35 ]/title)[1]/@lang)[1]','varchar(max)') --15、获取第一本书的title select Tab.Col.value('(book/title)[1]','varchar(max)') as title from @data.nodes('bookstore')as Tab(Col) --16、获取每本书的第一个author select Tab.Col.value('author[1]','varchar(max)') as title from @data.nodes('//book')as Tab(Col) --17、获取所有book的所有信息 select T.C.value('title[1]','varchar(max)') as title, T.C.value('year[1]','int') as year, T.C.value('title[1]','varchar(max)')as title, T.C.value('price[1]','float') as price, T.C.value('author[1]','varchar(max)') as author1, T.C.value('author[2]','varchar(max)') as author2, T.C.value('author[3]','varchar(max)') as author3, T.C.value('author[4]','varchar(max)') as author4 from @data.nodes('//book') as T(C) --18、获取不是日语(lang!="jp")且价格大于35的书的所有信息 select T.C.value('title[1]','varchar(max)') as title, T.C.value('year[1]','int') as year, T.C.value('title[1]','varchar(max)')as title, T.C.value('price[1]','float') as price, T.C.value('author[1]','varchar(max)') as author1, T.C.value('author[2]','varchar(max)') as author2, T.C.value('author[3]','varchar(max)') as author3, T.C.value('author[4]','varchar(max)') as author4 from @data.nodes('//book[./title[@lang!="jp"] and price>35 ]') as T(C)

以上就是如何快速入门SQL Server XML查询,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 如何快速入门SQL Server XML查询

本文链接: https://lsjlt.com/news/61714.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何快速入门SQL Server XML查询
    本篇文章给大家分享的是有关如何快速入门SQL Server XML查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。sql xml 入门: -...
    99+
    2024-04-02
  • 【第3天】MYSQL快速入门-高级查询(SQL 小虚竹)
    回城传送–》《100天精通MYSQL从入门到就业》 文章目录 零、前言 一、练习题目 二、SQL思路 计算函数:SQL16 查找GPA最高值 初始化数据 解法 ...
    99+
    2023-08-28
    sql 数据库 java
  • 如何快速入门Vuex
    本篇文章为大家展示了如何快速入门Vuex,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。一、前言当我们的应用遇到多个组件共享状态时,会需要多个组件依赖于同一状态。传参...
    99+
    2024-04-02
  • 如何快速入门HTML
    这篇文章主要讲解了“如何快速入门HTML”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何快速入门HTML”吧!html网页语法结构如下:   <h...
    99+
    2024-04-02
  • 如何快速入门Mybatis
    这篇文章主要讲解了“如何快速入门Mybatis”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何快速入门Mybatis”吧!本文主要内容:传统JDBC传统JDBC编码格式public&nbs...
    99+
    2023-06-15
  • php如何快速入门
    要快速入门PHP,可以按照以下步骤进行:1. 安装一个PHP开发环境:可以选择安装XAMPP、WAMP、MAMP等集成环境,也可以在...
    99+
    2023-08-30
    PHP
  • 如何调优SQL Server查询
    这期内容当中小编将会给大家带来有关如何调优SQL Server查询,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。在今天的文章里,我想给你展示下,当你想对特定查询创建索引设...
    99+
    2024-04-02
  • SQL 入门教程:子查询
    目录一、利用子查询进行过滤请参阅 目录汇总:SQL 入门教程:面向萌新小白的零基础入门教程 SELECT 语句 是 SQL 的查询。我们迄今为止所看到的所有 SELECT 语句都是简单查询,即从单个数据库表中检索数据的单条语句。 ...
    99+
    2017-11-30
    SQL 入门教程:子查询
  • 如何进行SQLite快速入门
    这篇文章给大家介绍如何进行SQLite快速入门,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。SQLite基础什么是SQLiteSQLite是一款轻型的嵌入式数据库它占用资源非常的低,在...
    99+
    2024-04-02
  • 如何进行python快速入门
    这期内容当中小编将会给大家带来有关如何进行python快速入门,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。九九乘法表for i in range(1,10): &...
    99+
    2023-06-25
  • 如何快速通过Docker安装SQL Server
    目录一、拉取镜像二、运行容器三、进入容器(1)进入容器 (2)连接数据库 (3)查询数据库 (4) 创建数据库四、远程连接五、简单小结 本文教...
    99+
    2023-05-20
    docker 安装sqlserver sqlserver安装教程 docker sqlserver
  • SQL Server中怎么优化查询速度
    这期内容当中小编将会给大家带来有关SQL Server中怎么优化查询速度,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。  优化SQLServer查询速度的方法有哪些  1...
    99+
    2024-04-02
  • SQL Server子查询的深入理解
    当由where子句指定的搜索条件指向另一张表时,就需要使用子查询或嵌套查询。 1 子查询 子查询是一个嵌套在select、insert、update或delete语句或其他...
    99+
    2024-04-02
  • 开发者如何快速入门Python
    今天就跟大家聊聊有关开发者如何快速入门Python,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python确实是个好语言,这点毋庸置疑, Python一直以简洁方便而又强大著称,其...
    99+
    2023-06-17
  • sql怎么快速查询大量数据
    要快速查询大量数据,可以采取以下几种方法: 使用索引:确保在查询中使用到的列上建立了合适的索引,这样可以大大提高查询的速度。 ...
    99+
    2024-04-09
    sql
  • SQL Server大表如何快速删除数据
      在SQL Server中,如何快速删除大表中的数据呢?  回答这个问题前,我们必须弄清楚上下文环境和以及结合实际、具体的需求,不同场景有不同的应对方法。     1: 整张表的数据全部删除     如果是整张表的数据全部清空、...
    99+
    2018-02-07
    SQL Server大表如何快速删除数据
  • [讨论SQL]2000万的数据如何做到快速查询
    要实现对2000万数据的快速查询,可以考虑以下几个方面的优化:1. 索引优化:为经常被查询的字段创建适当的索引,以加快查询速度。可以...
    99+
    2023-09-08
    SQL
  • SQL Server中如何使用查询语句
    这期内容当中小编将会给大家带来有关SQL Server中如何使用查询语句,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。一.查询第二个字母是t或者a的雇员的全部信息复制代码...
    99+
    2024-04-02
  • 如何快速入门PHP商城开发?
    随着电子商务的蓬勃发展,越来越多的人开始关注线上商城的开发。而PHP作为一种流行的Web开发语言,其开发商城的技能更是得到了广泛应用。如果你是一名初学者,但想要快速入门PHP商城开发,请看下文。一、学习PHP语言的基础知识在开始学习PHP商...
    99+
    2023-05-14
    PHP 入门 商城开发
  • C#如何实现快速查询文件
    今天小编给大家分享一下C#如何实现快速查询文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。相信使用过Everything的...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作