全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网
MaxCompute

SQL概述

更新时间:2017-09-30 18:58:56

MaxCompute SQL 适用于海量数据(GB、TB、EB 级别),离线批量计算的场合。MaxCompute 作业提交后会有几十秒到数分钟不等的排队调度,所以适合处理跑批作业,一次作业批量处理海量数据,不适合直接对接需要每秒处理几千至数万笔事务的前台业务系统。

MaxCompute SQL 采用的是类似于 SQL 的语法,可以看作是标准 SQL 的子集,但不能因此简单的把 MaxCompute 等价成一个数据库,它在很多方面并不具备数据库的特征,如事务、主键约束、索引等,更多差异请参见 与其他SQL语法差异。目前在 MaxCompute 中允许的最大 SQL 长度是 2MB。

关键字

MaxCompute 将 SQL 语句的关键字作为保留字。在对表、列或是分区命名时如若使用关键字,需给关键字加`` 符号进行转义,否则会报错。保留字不区分大小写。下面只给出常用的保留字列表,完整的保留字列表请参见 MaxCompute SQL 保留字

  1. % & && ( ) * +
  2. - . / ; < <= <>
  3. = > >= ? ADD ALL ALTER
  4. AND AS ASC BETWEEN BIGINT BOOLEAN BY
  5. CASE CAST COLUMN COMMENT CREATE DESC DISTINCT
  6. DISTRIBUTE DOUBLE DROP ELSE FALSE FROM FULL
  7. GROUP IF IN INSERT INTO IS JOIN
  8. LEFT LIFECYCLE LIKE LIMIT MAPJOIN NOT NULL
  9. ON OR ORDER OUTER OVERWRITE PARTITION RENAME
  10. REPLACE RIGHT RLIKE SELECT SORT STRING TABLE
  11. THEN TOUCH TRUE UNION VIEW WHEN WHERE

类型转换说明

MaxCompute SQL 允许数据类型之间的转换,类型转换方式包括:显式类型转换及隐式类型转换。更多详情请参见 类型转换

  • 显式类型转换:是指用 cast 将一种数据类型的值转换为另一种类型的值的行为。

  • 隐式类型转换:是指在运行时,由 MaxCompute 依据上下文使用环境及类型转换规则自动进行的类型转换。隐式转换作用域包括各种运算符、内建函数等作用域。

分区表

MaxCompute SQL 支持分区表。指定分区表会对您带来诸多便利,例如:提高 SQL 运行效率,减少计费等。关于分区的详情请参见 基本概念 > 分区

UNION ALL

参与 UNION ALL 运算的所有列的数据类型、列个数、列名称必须完全一致,否则会报异常。

本文导读目录