查询语句概览
描述
从一个或多个表中查询结果集。
语法
[ common_table_expression ]
{ subquery | set_operator }
[ ORDER BY clause | { [ DISTRIBUTE BY clause ] [ SORT BY clause ] } | CLUSTER BY clause ]
[ WINDOW clause ]
[ LIMIT clause ]
[ OFFSET clause ]
subquery
{ SELECT clause |
VALUES clause |
( query ) |
TABLE [ table_name | view_name ]}
参数
common_table_expression
公用表表达式 (CTE) 是一个或多个命名查询,可在主查询块内重复使用多次,以避免重复计算或提高复杂嵌套查询的可读性。
subquery
生成中间结果集的语句
SELECT
由
SELECT FROM WHERE
模式组成的子查询VALUES
指定了内联临时表
query
查询的嵌套调用,其中可能包含集合运算符或公用表表达式
TABLE
返回整个表或视图
ORDER BY
查询的完整结果集的行顺序。 跨分区对输出行进行排序。 此参数与 SORT BY、CLUSTER BY 和 DISTRIBUTE BY 互斥,不能一起指定。
DISTRIBUTE BY
一组表达式,作为对结果行进行重新分区的依据。 此参数与 ORDER BY 和 CLUSTER BY 互斥,不能一起指定。
SORT BY
用于对每个分区中的行进行排序的排序依据。 此参数与 ORDER BY 和 CLUSTER BY 互斥,不能一起指定。
CLUSTER BY
一组表达式,用于对行进行重新分区和排序。 使用此子句与同时使用 DISTRIBUTE BY 和 SORT BY 的效果相同。
LIMIT
语句或子查询可返回的最大行数。 此子句通常与 ORDER BY 结合使用来生成确定的结果。
OFFSET
跳过语句或子查询返回的行数。 此子句大多与 LIMIT 结合使用,以对结果集进行分页,与 ORDER BY 结合使用以产生确定的结果。
相关文档
公用表表达式(CTE)
CLUSTER BY
DISTRIBUTE BY
GROUP BY
HAVING
VALUES
JOIN
LATERAL VIEW
LIMIT
PIVOT
UNPIVOT
集合查询
SORT BY
TIMETRAVEL
TABLESAMPLE
WHERE
WINDOW
开窗函数