腾讯云数据仓库 TCHouse-X SELECT 语句

SELECT 语句用于执行查询,从一个或多个表中检索数据,并生成由行和列组成的结果集。INSERT 语句通常也以 SELECT 语句结束,用于定义从一个表复制到另一个表的数据。

相关产品
腾讯云数据仓库 TCHouse-X 产品页,含版本规格、价格与购买入口。

一、语法:

[WITH name AS (select_expression) [, …] ]SELECT [ALL | DISTINCT] [STRAIGHT_JOIN] expression [, expression …]FROM table_reference [, table_reference …][[FULL | [LEFT | RIGHT] INNER | [LEFT | RIGHT] OUTER | [LEFT | RIGHT] SEMI | [LEFT | RIGHT] ANTI | CROSS] JOIN table_reference [ON join_equality_clauses | USING (col1[, col2 …]] …WHERE conditionsGROUP BY { column | expression [, …] }HAVING conditionsORDER BY { column | expression [ASC | DESC] [NULLS FIRST | NULLS LAST] [, …] }LIMIT expression [OFFSET expression][UNION [ALL] select_statement] …]table_reference := { table_name | (subquery) }

SELECT 查询支持:

·SQL 标量数据类型:BOOLEAN、TINYINT、SMALLINT、INT、BIGINT、DECIMAL、FLOAT、DOUBLE、TIMESTAMP、STRING、VARCHAR、CHAR。

·可选的 WITH 子句,位于 SELECT 关键字之前,用于定义一个子查询,子查询的名称或列名可以在主查询中稍后引用。此子句允许你抽象化重复的子句,如聚合函数,这些子句在同一个查询中多次引用。

·可以在 FROM 子句中使用子查询,也可以在 WHERE 子句中使用,例如使用 IN()、EXISTS 和 NOT EXISTS 操作符。

·支持 WHERE、GROUP BY、HAVING 子句。

·可以通过它们的序号引用 SELECT 列表项。支持在 GROUP BY、HAVING 和 ORDER BY 子句中使用序号。序号只能在顶层使用。例如,以下语句是允许的:

— 有效的例子: SELECT int_col / 2, sum(x) FROM t GROUP BY 1;– 在这个查询中,GROUP BY 1表示按第一列(即int_col / 2)分组。 SELECT int_col / 2 FROM t ORDER BY 1; SELECT int_col / 2 FROM t ORDER BY 1 + 2;– 以上语句也是有效的,但ORDER BY 1 + 2没有任何效果,因为1 + 2的结果是3,表示排序依据是第三列,而不是按第一列排序。 SELECT NOT bool_col FROM t GROUP BY 1 HAVING not 1;– 这个查询在解析时会抛出错误,因为not 1是无效的表达式,not运算符不能直接作用于数字1。

总结:允许在 GROUP BY、ORDER BY 等子句中使用数字作为列序号,但需要注意的是,子表达式中的数字不会被解释为列序号,并且某些运算(如 not 1)会导致语法错误。

·支持多种 JOIN 子句。左连接、右连接、半连接、全连接和外连接在所有 TCHouse-X 版本中都得到支持。CROSS JOIN 操作符也可用。在性能调优过程中,你可以通过在 SELECT 语句及任何 DISTINCT 或 ALL 关键字后面立即添加 STRAIGHT_JOIN 关键字,来覆盖 TCHouse-X 内部的连接子句重排序。

有关连接查询的详细信息和示例,请参见 TCHouse-X SELECT 语句中的连接。

·UNION ALL。

·LIMIT。

·外部表。

·关系运算符,如大于、小于或等于。

·算术运算符,如加法或减法。

·逻辑/布尔运算符 AND、OR 和 NOT。TCHouse-X 不支持相应的符号&&、||和!。

·常见的 SQL 内置函数,如 COUNT、SUM、CAST、LIKE、IN、BETWEEN 和 COALESCE。TCHouse-X 特别支持在 TCHouse-X 内置函数中描述的内置函数。

赞 (0)
上一篇 4天前
下一篇 4天前