Rei*_*l-- 7 t-sql sql-server terminology
以下是有效的SQL语法:
SELECT *
FROM (VALUES ('p','q'),('x','y')) AS TableLiteral(Col1, Col2)
Run Code Online (Sandbox Code Playgroud)
并返回表:
| Col1 | Col2
----------------
1 | p | q
2 | x | y
Run Code Online (Sandbox Code Playgroud)
这种语法可以进一步用于CTE等.
这有名字吗?我一直称它们为"TableLiterals",类似于字符串文字和正则表达式文字.
是否有一个将被广泛认可的术语.
它被称为:表值构造函数
指定要构造到表中的一组行值表达式.Transact-SQL表值构造函数允许在单个DML语句中指定多行数据.可以在INSERT语句的VALUES子句中,MERGE语句的USING子句中以及FROM子句中派生表的定义中指定表值构造函数.
VALUES()[,... n]
有关ANSI标准:F641,行和表构造函数的更多信息,请 选择不使用