名前のない列

名前のない列はインラインになります。たとえば、計算列または入れ子になったスカラ クエリで列の別名を指定しないと、名前のない列が生成されます。列が xml 型の場合、そのデータ型のインスタンスの内容が挿入されます。それ以外の型の場合は、列の内容がテキスト ノードとして挿入されます。

SELECT 2+2FOR XML PATH

上のクエリは、次の XML を生成します。既定では、行セットの行ごとに 1 つの <row> 要素が、結果の XML に生成されます。これは RAW モードと同じ動作です。

<row>4</row>

次のクエリは 3 列の行セットを返します。3 番目の名前がない列には、XML データが含まれています。PATH モードにより、xml 型のインスタンスが挿入されます。

SELECT ProductModelID,
       Name,
       Instructions.query('declare namespace MI="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelManuInstructions";
                /MI:root/MI:Location 
              ') 
FROM Production.ProductModel
WHERE ProductModelID=7
FOR XML PATH 
go

結果の一部を次に示します。

<row>
  <ProductModelID>7</ProductModelID>
  <Name>HL Touring Frame</Name>
  <MI:Location ...LocationID="10" ...></MI:Location>
  <MI:Location ...LocationID="20" ...></MI:Location>
   ...
</row>

関連項目

概念