概要

VALUES row [, ...]

其中, `row`是一个表达式,或者如下形式的表达式列表:

( column_expression [, ...] )

描述

定义一张字面内联表。

  • 任何可以使用查询语句的地方都可以使用VALUE, 如放在SELECT语句的FROM后面,放在INSERT里,甚至放在最顶层;
  • VALUE默认创建一张匿名表,并且没有列名。表名和列名可以通过AS进行命名。

示例

--- 返回一个表对象,包含1列,3行数据
VALUES 1, 2, 3

--- 返回一个表对象,包含2列,3行数据
VALUES
    (1, 'a'),
    (2, 'b'),
    (3, 'c')
	
--- 在查询语句中使用
SELECT * FROM (
    VALUES
        (1, 'a'),
        (2, 'b'),
        (3, 'c')
) AS t (id, name)

--- 创建一个表
CREATE TABLE example AS
SELECT * FROM (
    VALUES
        (1, 'a'),
        (2, 'b'),
        (3, 'c')
) AS t (id, name)