【PostgreSQL】数据查询-VALUES

PostgreSQLVALUES函数:生成常量表与数据查询示例,
本文介绍了PostgreSQL中的VALUES函数,用于在查询中动态生成表格,通过提供表达式列表创建临时数据结构,相当于UNION操作。作者通过实例展示了如何使用VALUES以及其在SQL查询中的灵活性。

PostgreSQL数据查询-VALUES

PostgreSQL中VALUES提供了一种生成“常量表”的方法,该表可在查询中使用,而无需在磁盘上实际创建和填充表。语法是

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

每个带括号的表达式列表都会在表中生成一行。所有列表必须具有相同数量的元素(即表中的列数),并且每个列表中的相应条目必须具有兼容的数据类型。分配给结果每列的实际数据类型使用与 相同的规则确定。UNION

举个例子:

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 将名称 、 等分配给表的列。SQL 标准未指定列名,不同的数据库系统以不同的方式指定列名,因此通常最好使用表别名列表覆盖默认名称,如下所示:column1 column2 VALUES

=> SELECT * FROM (VALUES (1, 'one'), (2, 'two'), (3, 'three')) AS t (num,letter);
 num | letter
-----+--------
   1 | one
   2 | two
   3 | three
(3 rows)

在语法上,后跟表达式列表被视为等价于:VALUES

SELECT select_list FROM table_expression

并且可以出现在任何可以的地方。例如SELECT,您可以将其用作 的一部分UNION ,或为其附加一个sort_specification(ORDER BY、LIMIT 和OFFSET或 VALUE SINSERT)。 最常用作命令中的数据源,其次最常用作子查询。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

DBA圈小圈

你的鼓励是我最大的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值