t和u在presto sql中是什么意思



我正在阅读文档,并试图了解一些查询的底部。

这是一个同时具有tu的查询

SELECT * FROM (VALUES 1, 2) t("left"), (VALUES 3, 4) u("right");

这里是另一个只使用t:

SELECT * FROM (VALUES 5, 2, 4, 1, 3) t(x) ORDER BY x OFFSET 2 LIMIT 2;

还有这两个(注意t(之间的空间(:

SELECT student, score
FROM tests
CROSS JOIN UNNEST(scores) AS t (score);
FROM (
VALUES
(ARRAY[2, 5], ARRAY['dog', 'cat', 'bird']),
(ARRAY[7, 8, 9], ARRAY['cow', 'pig'])
) AS x (numbers, animals)
CROSS JOIN UNNEST(numbers, animals) AS t (n, a);

这里t(sites)被描述为别名。

FROM dataset, UNNEST(items) AS t(sites)

我在谷歌上搜索了好几个小时。我希望有更多SQL经验的人能给我推荐有用的搜索字符串。

  1. u和t都是预定义的别名吗
  2. 别名是什么意思
  3. 我是否需要使用别名的括号
  4. 这个字符和括号之间的空格有什么特殊的含义吗

我的DWH团队帮助了我。这些是与列名组合的别名。当你知道的时候,这似乎微不足道。

第一个例子:

SELECT * from (VALUES 1, 2) t("x")

像这样写的可能更容易理解

SELECT * from (VALUES 1, 2) as t("first")

(VALUES 1, 2) as t("first")创建了一个包含一列和两行的表。该表的别名为t,列名为first

SELECT * from (VALUES (1,3), (2, 4)) as t("first", "second")

提供两行类似

#    first  second
1    1      3
2    2      4
  1. 它们不是预定义的别名,而是普通别名
  2. NA
  3. 如果无法从表中推断出列名,则需要它们

相关内容

  • 没有找到相关文章

最新更新