# 7.7.价值观
列表
价值观
提供了一种生成“常量表”的方法,该表可以在查询中使用,而无需实际创建和填充磁盘上的表。语法是
VALUES ( expression [, ...] ) [, ...]
每个带括号的表达式列表在表中生成一行。列表必须具有相同数量的元素(即表中的列数),并且每个列表中的相应条目必须具有兼容的数据类型。分配给结果的每一列的实际数据类型是使用与联盟
(看第 10.5 节)。
举个例子:
VALUES (1, 'one'), (2, 'two'), (3, 'three');
将返回一个两列三行的表格。它实际上等效于:
SELECT 1 AS column1, 'one' AS column2
UNION ALL
SELECT 2, 'two'
UNION ALL
SELECT 3, 'three';
默认情况下,PostgreSQL 分配名称第 1 列
,第 2 列
等到 a 的列价值观
桌子。SQL 标准没有指定列名,并且不同的数据库系统执行方式不同,因此通常最好使用表别名列表覆盖默认名称,如下所示:
=> SELECT * FROM (VALUES (1, 'one'), (2, 'two'), (3, 'three')) AS t (num,letter);
num | letter