PostgreSQL 8.2.3 中文文档
后退快退章7. 查询快进前进

7.7. VALUES 列表

可以在查询中使用由 VALUES 生成的"常数表",而无需在磁盘上实际创建这个表。语法如下:

VALUES ( expression [, ...] ) [, ...]

每个括号中的表达式列表生成表中的一行。每个列表中的项数(也就是字段数)必须相等,并且对应的数据类型必须兼容。最终表中每个字段的数据类型将使用与 UNION(参见节10.5)相同的规则确定。

例如

VALUES (1, 'one'), (2, 'two'), (3, 'three');

将得到 2 列 3 行的表。并且与下面的语句等价:

SELECT 1 AS column1, 'one' AS column2
UNION ALL
SELECT 2, 'two'
UNION ALL
SELECT 3, 'three';

PostgreSQL 默认将 VALUES 所得到的表中各字段分别命名为 column1, column2 等等。SQL 标准并未规定此种情况下的字段名命名规范,不同的数据库系统对此的处理也各不相同,所以最好明确指定字段的名字。

语法上,带有表达式列表的 VALUES 和下面的语句等价:

SELECT select_list FROM table_expression

并且可以出现在任何 SELECT 可以出现的地方。例如,你可以把它用于 UNION 的一侧,或者在其上附加一个 sort_specification(ORDER BY, LIMIT, OFFSET)。VALUES 通常用作 INSERT 命令的数据源或者子查询。

更多信息参见 VALUES


后退首页前进
LIMITOFFSET上一级数据类型