在SQL中,';as';什么意思?
我正在SQL中执行一些XML查询,为了获得多个同级节点的属性,我需要执行以下查询:在SQL中,';as';什么意思?,sql,sql-server,Sql,Sql Server,我正在SQL中执行一些XML查询,为了获得多个同级节点的属性,我需要执行以下查询: select C.value('@attribute[1]', 'varchar(30)') from tblData cross apply XmlFieldL.nodes('/Data/Children') as T(C) 默认情况下,[1]只给出第一项,因此交叉应用程序绕过该项,并为每个子节点提供一个@属性的列表。很酷,很好用 我的问题是T(C)的语法是什么?乍一看,它看起
select
C.value('@attribute[1]', 'varchar(30)')
from
tblData
cross apply
XmlFieldL.nodes('/Data/Children') as T(C)
默认情况下,[1]
只给出第一项,因此交叉应用程序绕过该项,并为每个子节点提供一个@属性的列表。很酷,很好用
我的问题是T(C)
的语法是什么?乍一看,它看起来像某种函数,或者某种分组。我引用C,但为什么T部分是必要的?语法是什么意思
以供参考,并更好地描述它。我只是想确切地理解我在这里做什么。T
是派生表的别名
C
是从/Data/Children
节点分解的列名。基本上,.nodes()
调用返回一个“伪表”,其中每个匹配的XML片段都有一列
这就是T
(用于伪表)和C
(该伪表中的列)所指的内容,这里有很好的解释:。