7.7. VALUES
列表
VALUES
提供了一种生成“常量表”的方法,它可以被使用在一个查询中而不需要实际在磁盘上创建一个表。语法是:
VALUES (expression
[, ...] ) [, ...]复制
每一个被圆括号包围的表达式列表生成表中的一行。列表都必须具有相同数据的元素(即表中列的数目),并且在每个列表中对应的项必须具有可兼容的数据类型。分配给结果的每一列的实际数据类型使用和UNION
相同的规则确定(参见第 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将column1
、column2
等名字分配给一个VALUES
表的列。这些列名不是由SQL标准指定的,并且不同的数据库系统的做法也不同,因此通常最好使用表别名列表来重写这些默认的名字,像这样:
=> SELECT * FROM (VALUES (1, 'one'), (2, 'two'), (3, 'three')) AS t (num,letter); num | letter -----+-------- 1 | one 2 | two 3 | three (3 rows)复制
在句法上,后面跟随着表达式列表的VALUES
列表被视为和
SELECTselect_list
FROMtable_expression
复制
一样,并且可以出现在SELECT
能出现的任何地方。例如,你可以把它用作UNION
的一部分,或者附加一个sort_specification
(ORDER BY
、LIMIT
和/或OFFSET
)给它。VALUES
最常见的用途是作为一个INSERT
命令的数据源,以及作为一个子查询。
更多信息请见VALUES。
文章转载自PostgreSQL全球开发组,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
9.9 分高危漏洞,尽快升级到 pgAdmin 4 v9.2 进行修复
严少安
351次阅读
2025-04-11 10:43:23
外国CTO也感兴趣的开源数据库项目——openHalo
小满未满、
350次阅读
2025-04-21 16:58:09
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
328次阅读
2025-04-15 14:48:05
openHalo问世,全球首款基于PostgreSQL兼容MySQL协议的国产开源数据库
严少安
294次阅读
2025-04-07 12:14:29
postgresql+patroni+etcd高可用安装
necessary
166次阅读
2025-03-28 10:11:23
从 Oracle 到 PostgreSQL迁移成本评估揭秘
梧桐
151次阅读
2025-03-27 17:21:42
手把手教你在 openKylin 上部署 IvorySQL 4.4
严少安
150次阅读
2025-03-27 20:41:28
转发有奖 | PostgreSQL 16 PGCM高级认证课程直播班招生中!
墨天轮小教习
146次阅读
2025-04-14 15:58:34
墨天轮PostgreSQL认证证书快递已发(2025年3月批)
墨天轮小教习
125次阅读
2025-04-03 11:43:25
SQL 优化之 OR 子句改写
xiongcc
91次阅读
2025-04-21 00:08:06