VALUES 子句
在 RisingWave 中,VALUES
子句用于生成一个或多个数据行作为表表达式。在 SQL 查询中,它通常用于创建临时表或向表中插入数据。
RisingWave 中 VALUES
子句的句法如下:
VALUES (expression1, expression2, ...),
(expression1, expression2, ...),
...
此处,每组用括号括起的表达式代表一行数据。表达式的数量必须与要创建的表或视图中的列数相匹配。
创建视图或物化视图时,可以使用 VALUES
子句构造一个临时表,并将该表分配给视图或物化视图。例如:
CREATE MATERIALIZED VIEW mv (id, name) AS VALUES (1, 'John'), (2, 'Jane'), (3, 'Bob');
VALUES
子句还可用于更复杂的查询(例如子查询或连接),以生成临时表或将数据插入到现有表中。例如:
CREATE MATERIALIZED VIEW join_mv AS
WITH info(number, job) AS (VALUES (1, 'Writer'), (2, 'Software Engineer'), (3, 'Accountant'))
SELECT * FROM mv JOIN info ON mv.id = info.number;
要查看 join_mv
中的值:
SELECT * FROM join_mv;
-- 结果
id | name | number | job
----+------+--------+-------------------
2 | Jane | 2 | Software Engineer
3 | Bob | 3 | Accountant
1 | John | 1 | Writer