SQL中FOR XML PATH
类别:数据库 浏览量:633
时间:2014-7-20 SQL中FOR XML PATH
SQL中FOR XML PATH一 、FOR XML PATH实例介绍
1、兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下
hobbyID | hName |
1 | 爬山 |
2 | 游泳 |
3 | 美食 |
2、FOR XML PATH查询
(1)、SELECT * FROM hobby FOR XML PATH
结果:
<row>
<hobbyID>1</hobbyID>
<hName>爬山</hName>
</row>
<row>
<hobbyID>2</hobbyID>
<hName>游泳</hName>
</row>
<row>
<hobbyID>3</hobbyID>
<hName>美食</hName>
</row>
(2)、改变XML行节点的名称
SELECT * FROM hobby FOR XML PATH('MyHobby')
结果
原来的行节点<row> 变成了我们在PATH后面括号()中,自定义的名称<MyHobby>
<MyHobby>
<hobbyID>1</hobbyID>
<hName>爬山</hName>
</MyHobby>
<MyHobby>
<hobbyID>2</hobbyID>
<hName>游泳</hName>
</MyHobby>
<MyHobby>
<hobbyID>3</hobbyID>
<hName>美食</hName>
</MyHobby>
(3)、改变XML列节点的名称
<MyHobby>
<MyCode>1</MyCode>
<MyName>爬山</MyName>
</MyHobby>
<MyHobby>
<MyCode>2</MyCode>
<MyName>游泳</MyName>
</MyHobby>
<MyHobby>
<MyCode>3</MyCode>
<MyName>美食</MyName>
</MyHobby>
(4)、自定义输出方式
SELECT '[ '+hName+' ]' FROM @hobby FOR XML PATH('')
结果
[ 爬山 ][ 游泳 ][ 美食 ]
二、FOR XML PATH综合实例
1、增加一张学生表,列分别为(stuID,sName,hobby),stuID代表学生编号,sName代表学生姓名,hobby列存学生的爱好!那么现在表结构如下:
stuID | sName | hobby |
1 | 张三 | 爬山 |
1 | 张三 | 游泳 |
2 | 李四 | 美食 |
3 | 李四 | 美食 |
4 | 王五 | 爬山 |
5 | 王五 | 游泳 |
2、查询学生表,显示所有学生的爱好的结果集
SELECT B.sName,LEFT(StuList,LEN(StuList)-1) as hobby FROM (
SELECT sName,
(SELECT hobby+',' FROM student
WHERE sName=A.sName
FOR XML PATH('')) AS StuList
FROM student A
GROUP BY sName
) B
3、结果
标签:SQL
您可能感兴趣
- mysql分库分表视图(MySQL分库分表与分区的入门指南)
- mysql数据类型
- mysql配置多实例
- sql怎么设置排列(SQL写法--行行比较)
- mysql批量生成uuid(一种简单的ID生成策略: Mysql表生成全局唯一ID的实现)
- sqlserver2008远程连接设置(如何开启SqlServer 远程访问)
- mysql8.0.16安装步骤图解(mysql 8.0.22 安装配置图文教程)
- 常见NoSQL数据库
- SQL Server中的临时表的用法
- sql重复记录怎么删除(SQL去除重复记录七种)
- docker部署tomcat(Docker安装Tomcat、MySQL和Redis的步骤详解)
- mysql显示所有数据库语句(MySQL数据库自动补全命令的三种方法)
- mysql演示事务提交(MySQL找出未提交事务的SQL实例浅析)
- mysql 排序源码(MySQL排序原理和案例详析)
- mysql中json的支持(MySQL中json字段的操作方法)
- sqlserver触发器循环条件(SQL Server 利用触发器对多表视图进行更新的实现方法)
- 你或许不知道你隐藏的支配欲望(你或许不知道你隐藏的支配欲望)
- 把宽体丰田86卖了,换成7.5代高尔夫GTI玩起姿态与性能并存的改装(把宽体丰田86卖了)
- 大众推出了第五代高尔夫GT(大众推出了第五代高尔夫GT)
- 换代在即,现在是抄底 7.5代 高尔夫的最佳时机吗(换代在即现在是抄底)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
- 七年前的这部剧有毒,全剧只有女主红到发紫,男主至今无人认识(七年前的这部剧有毒)
热门推荐
- vue原样表格导出excel(Vue导出Excel功能的全过程记录)
- axios实现原理(项目中Axios二次封装实例Demo)
- python怎么测试api接口(python接口自动化测试之接口数据依赖的实现方法)
- vuejs组件使用教程交流(Vue vee-validate插件的简单使用)
- php中row函数(PHP中number_format函数的用法讲解)
- css3自制像素细线(css3绘制百度的小度熊)
- 如何用postman做接口测试(基于postman实现http接口测试过程解析)
- mysql什么是慢查询(MySQL慢查询的坑)
- C#中equals和==的区别有哪些
- dedecms栏目内容怎么插入分页符(dedecms织梦让likearticle的mytypeid支持多个栏目和子栏目)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9