SQL是用于管理关系型数据库的标准语言,其核心是查询语句。本文为您介绍 SQL 查询语句的核心语法概念。
SQL查询语句
SELECT 语句用于从表中选取数据。SELECT语句是查询语法的核心,所有高级查询语法都是围绕SELECT语句展开的。更多详情请参见SELECT。
OpenSearch目前暂不支持获取summary。更多详情请参见FROM-Summary查询。
WHERE语句用于有条件地从表中筛选符合条件的数据。更多详情请参见WHERE。
Group By用来对一个或者多个字段聚合,以此算出相应的数据,比如最大值、最小值、平均值等。更多详情请参见GROUP BY。
ORDER BY 语句用于对一个或者多个字段进行排序。默认为升序(ASC)。由于排序性能较差,要求排序时必须加上LIMIT子句。更多详情请参见ORDER BY。
UNION语句用来将多路相同schema的数据做合并。要求两边的字段完全一致,包括字段类型、字段顺序。更多详情请参见UNION。
JOIN语句用于合并多个表的数据,扩展查询维度。更多详情请参见JOIN操作类型。
动态参数类似数据库中的PrepareStatement。用户可以在SQL中设置placeholder(?表示),同时传递placeholder对应的值,引擎内部会自动替换。动态参数主要用于提高Cache命中率,对于查询模式固定的场景性能提升明显。更多详情请参见动态参数。
TVF(Table Value Function)在TuringSQL中用来表示一类可以对整张表进行操作的函数集合。其的输入由一个或者若干个标量参数和一个SQL(可以理解为一张表)组成,与之对应的输出是一张表。更多详情请参见Table Value Function。
CTE (Common Table Expresssion), 我们可以通过CTE定义一个临时(query生存期)的命名结果集,在query接下来的查询语句(不局限于SELECT,但是我们目前只支持了SELECT)中就可以直接引用这个CTE,从而达到简化查询的目的。更多详情请参见Common Table Expression简介。
使用限制
目前不支持DDL及DML语法。
ORDER BY子句必须和LIMIT配对使用。
使用UNNEST子句查询子表时,不支持SELECT *。
JOIN目前只支持在Searcher上执行,需要业务方保证数据分布。
UNION需要保证两边的字段名称、字段类型、字段数量均要一致。
数值分析索引不支持使用"="查询,可以使用WHERE QUERY('consign_time', '[1, 10]')这样的方式来查询。
- 本页导读 (1)
- SQL查询语句
- 使用限制