--
--10.2.1节示例
--
--RAW模式返回XML代码
SELECT TOP 2 at.AddressTypeID,at.Name,ca.CustomerID,ca.AddressID
FROM Person.AddressType at
INNER JOIN Sales.CustomerAddress ca
ON ca.AddressTypeID = at.AddressTypeID
FOR XML RAW --使用RAW模式
--修改row元素名
SELECT TOP 2 at.AddressTypeID,at.Name,ca.CustomerID,ca.AddressID
FROM Person.AddressType at
INNER JOIN Sales.CustomerAddress ca
ON ca.AddressTypeID = at.AddressTypeID
FOR XML RAW('Address') --指定了row元素名
--
--10.2.2节示例
--
--使用AUTO模式的FOR XML子句
USE AdventureWorks;
SELECT TOP 2 at.AddressTypeID,at.Name,ca.CustomerID,ca.AddressID
FROM Person.AddressType at
INNER JOIN Sales.CustomerAddress ca
ON ca.AddressTypeID = at.AddressTypeID
FOR XML AUTO --使用FOR XML子句使返回结果为XML类型
--交换位置的FOR XML查询
SELECT TOP 2 ca.CustomerID,ca.AddressID,at.AddressTypeID,at.Name
FROM Person.AddressType at
INNER JOIN Sales.CustomerAddress ca
ON ca.AddressTypeID = at.AddressTypeID
FOR XML AUTO --使用AUTO模式
--
--10.2.4节示例
--
--PATH模式
SELECT TOP 2 at.AddressTypeID,at.Name,ca.CustomerID,ca.AddressID
FROM Person.AddressType at
INNER JOIN Sales.CustomerAddress ca
ON ca.AddressTypeID = at.AddressTypeID
FOR XML PATH --指定使用PATH模式