SQL中for xml path 的用法

1. 用法

是一种将查询结果转换为 XML 格式的方法。它可以将查询结果中的每一行转换为一个 XML 元素,并且可以指定元素的名称和属性。

2. 应用示例

有一张学生选修课程的表,如下图所示

希望整合成下图所示效果

sql 复制代码
--建表
if object_id('StudentInfo','u') is not null drop table StudentInfo
go
create table StudentInfo(
    学生姓名  varchar(10)
    ,选修课程      varchar(10)
)
go
insert into StudentInfo
values
('张三','拉丁')
,('张三','围棋')
,('李四','排球')
,('赵五','太极')
,('赵五','拉丁')
,('赵五','街舞')
go
select * from StudentInfo
--查询
select distinct a.学生姓名,
       stuff(  (
         select  ', ' + 选修课程
         from StudentInfo b
         where a.学生姓名= b.学生姓名
          for xml path ('') ),1,1,'') as 选修课程
from StudentInfo a
相关推荐
武超杰11 小时前
MySQL调优(一)
数据库·mysql
电商API&Tina11 小时前
淘宝 / 京东关键词搜索 API 接入与实战用途教程|从 0 到 1 搭建电商选品 / 比价 / 爬虫替代系统
java·开发语言·数据库·c++·python·spring
YMatrix 官方技术社区11 小时前
批流一体,从 Lambda 到 Domino|YMatrix 亮相 PGConf.Russia 2026,重构 PostgreSQL 极简实时架构
数据库·postgresql·重构·架构·ymatrix
荒川之神11 小时前
ORACLE 11G的审计
数据库·oracle
StackNoOverflow11 小时前
MySQL 的性能调优(第一部分)
数据库·mysql
君穆南11 小时前
MySQL备份脚本
数据库·mysql·adb
数据库知识分享者小北11 小时前
告别后端上下文断层!体验用 PolarDB Supabase 助力 AI 原生 IDE 完成 VibeCoding领取试用及多重好礼
数据库·人工智能·阿里云·关系型数据库·polardb·vibecoding
ea4on12 小时前
看完这篇,我才MySQL索引是这样理解的
数据库
鬼先生_sir12 小时前
MySQL进阶基础:索引、视图、存储过程与常用函数
数据库·mysql
Nturmoils12 小时前
实时决策时代,工业物联网需要什么样的数据库?
数据库·后端