我正在寻找 TABLE 命令的官方文档(它与 TABLE(<string_literal>) 不同)。
Snowflake 支持 TABLE <table_name>
,这是 SELECT * FROM <table_name>
的简写,但我无法找到它的文档。示例:
CREATE OR REPLACE TEMPORARY TABLE t AS SELECT 1 AS col;
SELECT * FROM t;
-- COL 1
TABLE t;
-- COL 1
它也适用于参数化的表名:
SET name = 't';
TABLE IDENTIFIER($name);
-- COL 1
TABLE TABLE($name);
-- error as TABLE() could be only used in FROM
我在 All Commands/Query Syntax 进行了搜索,但没有取得多大成功。
答案 0 :(得分:0)
我认为您要查找的文档是 Table Literals:
https://docs.snowflake.com/en/sql-reference/literals-table.html
答案 1 :(得分:0)
我认为您对另一个答案的评论是正确的。这是 PostgreSQL TABLE
命令,而不是 Snowflake 功能。
TABLE
命令
命令
TABLE name
相当于
SELECT * FROM name
它可以用作顶级命令或在复杂查询的部分中用作节省空间的语法变体。只有 WITH
、UNION
、INTERSECT
、EXCEPT
、ORDER BY
、LIMIT
、OFFSET
、FETCH
和FOR
锁定子句可以与 TABLE
一起使用;不能使用 WHERE
子句和任何形式的聚合。