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
相关推荐
会编程的土豆13 小时前
数据库范式
数据库·oracle
L16247613 小时前
MySQL 全环境生产快速安装 + 完整配置手册(整合国产银河麒麟适配 + 主从补充版)
数据库·mysql
yio_yin13 小时前
Spring事务管理(数据一致性)
数据库·sql·spring
前端世界14 小时前
MySQL 基础入门(学习第4天)——约束与 DML 操作详解
数据库·学习·mysql
nianniannnn15 小时前
Qt QMessageBox知识点
开发语言·数据库·qt
—Miss. Z—15 小时前
计算机二级MySQL——简单应用题(存储过程&存储函数)
数据库·oracle·php
Csvn15 小时前
📊 SQL 入门 Day 9:CTE(公用表表达式)— 让 SQL 像写代码一样优雅
后端·sql
Vect__16 小时前
MySQL 数据类型和约束:从字段设计到表结构建模
数据库·mysql
糖果店的幽灵16 小时前
langgraph的分支结构之 - 静态分支详解
java·服务器·数据库·langgraph
虹科网络安全16 小时前
艾体宝新闻|从 SQL 注入到服务器接管:CVE-2026-57517 暴露 Web 管理面板的供应链与安全编码风险
服务器·前端·sql