【问题标题】:Name for SELECT * FROM (VALUES (x,y)) AS TableLiteral(Col1, Col2)SELECT * FROM (VALUES (x,y)) AS TableLiteral(Col1, Col2) 的名称
【发布时间】:2017-08-02 16:44:20
【问题描述】:

以下是有效的 SQL 语法:

SELECT *
    FROM (VALUES ('p','q'),('x','y')) AS TableLiteral(Col1, Col2)

并返回表格:

  | Col1 | Col2
----------------
1 |  p   |  q
2 |  x   |  y

此语法可进一步用于 CTE 等。

这个有名字吗? 我一直称它们为“TableLiterals”,类似于字符串文字和正则表达式。

是否有一个术语会被广泛认可。

【问题讨论】:

标签: sql-server tsql terminology


【解决方案1】:

它被称为:Table Value Constructor

指定要构造成表的一组行值表达式。 Transact-SQL 表值构造函数允许在单个 DML 语句中指定多行数据。 可以在 INSERT 语句的 VALUES 子句、MERGE 语句的 USING 子句以及 FROM 子句的派生表定义中指定表值构造函数。

值 ( ) [ ,...n ]

有关 ANSI 标准的更多信息:F641, Row and table constructors select without from

【讨论】:

    【解决方案2】:
    猜你喜欢
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 2016-12-05
    • 2022-06-15
    • 1970-01-01
    • 1970-01-01
    • 2016-12-07
    • 1970-01-01
    相关资源
    最近更新 更多