sqlserver FOR xml

--sql FOR xml

create table ClassInfo
(
    CID  int identity(1,1), --本表ID
    Cnumber int,            --班级人数
    CName varchar(10)       --班级名称
)

go
insert ClassInfo
       select 20,'一年级1班'
union  select 20,'一年级2班'
union  select 20,'一年级3班'
union  select 20,'一年级4班'
go
select * from ClassInfo
--Students (CID 班级表外键,SID学生信息表ID学生的学号就是,SName)
create table Students
(
    [SID] int identity(1,1), --学号
    CID int,                 --班级ID 
    SName varchar(10)         --姓名       
)
go
insert into Students
      select 1,'张1'
union select 1,'张2'
union select 1,'张3'
union select 1,'张4'
union select 2,'张5'
union select 2,'张6'

--CID 本表ID,Cnumber 班级人数,CName
select * from ClassInfo
select * from Students

select * from ClassInfo WHERE CName='一年级1班'
SELECT CID,Cnumber,CName FROM ClassInfo WHERE CName='一年级1班'   FOR xml raw

    SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
    FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
    ORDER BY CID FOR xml raw 

--raw to auto 把行数据变成节点数据
    SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
    FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
    ORDER BY CID FOR xml auto 
--root属性 添加根结点
     SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
     FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
     ORDER BY CID FOR xml auto ,root('studentInfo')
--Elements 属性 把属性变成了节点的方式
       SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
       FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
       ORDER BY CID FOR xml auto ,root('studentInfo'),Elements
--path属性
        SELECT ClassInfo.CID,ClassInfo.Cnumber,ClassInfo.CName,Students.SID,Students.SName
        FROM ClassInfo  JOIN dbo.Students ON Students.CID=dbo.ClassInfo.CID 
        ORDER BY CID FOR xml path ,root('studentInfo')
/*
Path 是以数据基本结构也就是以字段为结点的形式返回Xml文档(这样说不专业可能容易理解)
Raw 是把数据里所有的字段以属性的方式显示出Xml文档
Auto 自动关连到相应的项目,和Raw一样在不加Elements属性时以这种方式返回数据
*/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值