目前仅支持 SELECT 语法,不支持 UPDATE \ INSERT \ DELETE 以及 DDL 语法
标识符
字段名为标识符,比如select a, b 中的a和b是标识符
标识符如果和关键字冲突,需要使用反引号对标识符括起来。如
select `a` as `table`
数据类型
支持基本的数据类型,包括 string、int、float 等。
底层引擎的数据类型会映射到几个基本数据类型
别名
别名包括字段别名、表别名和子查询别名, 这三者的概念和主流的查询引擎,如MYSQL等是保持一致的。这三种别名一般情况下可以省略。
字段别名: select a as b, count(1) as cnt 中的b和cnt就是字段别名,将a重命名为b, count(1) 重命名为cnt
表别名: select tableAlias.a from table1 as tableAlias 中的tableAlias就是表别名,将table1重命名为tableAlias, 且在查询中可以使用tableAlias来引用字段
子查询别名: select queryAlias.a from (select a, b from table1) as queryAlias 中的queryAlias就是子查询别名。作用和 表别名 一样。
注意:
Unified Sql中字段别名具有比较广泛的可见性。WHERE条件和SELECT list中都是可以引用别名, 如:
select 1 as a, a + 1 as b, b + 1 as c from table1 where c = 3
上述 SQL 演示了别名的使用,WHERE 条件中可以引用字段别名。 SELECT list中后面的表达式也可以引用前面出现的别名. 上述 SQL 等价于:
select 1 as a, 1 + 1 as b, 1 + 1 + 1 as c from table1 where 1 + 1 + 1 = 3
函数
详见函数章节
SELECT 语句
详见SELECT语法部分
JOIN 语句
详见SELECT语法部分里的 JOIN 语句 部分
JOIN 支持 LEFT JOIN \ RIGHT JOIN \ INNER JOIN
UNION ALL 语句
详见SELECT语法部分里的 UNION 语句部分