文档

与其他SQL语法的差异

更新时间:

本文将MaxCompute SQL与Hive、MySQL、Oracle、SQL Server的SQL语法进行对比,为您介绍MaxCompute不支持的语法。

MaxComputeDDL语法差异对比

语法

MaxCompute

Hive

MySQL

Oracle

SQL Server

CREATE TABLE—PRIMARY KEY

N

N

Y

Y

Y

CREATE TABLE—NOT NULL

Y

N

Y

Y

Y

CREATE TABLE—CLUSTER BY

Y

Y

N

Y

Y

CREATE TABLE—EXTERNAL TABLE

Y (OSS, OTS, TDDL)

Y

N

Y

N

CREATE TABLE—TEMPORARY TABLE

N

Y

Y

Y

Y (with #prefix)

INDEX—CREATE INDEX

N

Y

Y

Y

Y

VIRTUAL COLUMN

N

N

N

Y

Y

MaxComputeDML语法差异对比

语法

MaxCompute

Hive

MySQL

Oracle

SQL Server

CTE

Y

Y

Y

Y

Y

SELECT—recursive CTE

N

N

Y

Y

Y

SELECT—GROUP BY ROLL UP

Y

Y

Y

Y

Y

SELECT—GROUP BY CUBE

Y

Y

N

Y

Y

SELECT—GROUPING SET

Y

Y

N

Y

Y

SELECT—IMPLICT JOIN

Y

Y

N

Y

Y

SELECT—PIVOT

N

N

N

Y

Y

SEMI JOIN

Y

Y

Y

N

N

SELECT TRANSFORM

Y

Y

N

N

N

SELECT—corelated subquery

Y

Y

Y

Y

Y

ORDER BY NULLS FIRST/LAST

N

Y

Y

Y

Y

LATERAL VIEW

Y

Y

N

Y

Y (CROSS APPLY keyword)

SET OPERATOR—UNION (disintct)

Y

Y

Y

Y

Y

SET OPERATOR—INTERSECT

Y

N

N

Y

Y

SET OPERATOR—MINUS/EXCEPT

Y

N

N

Y

Y(keyword EXCEPT)

INSERT INTO ... VALUES

Y

Y

Y

Y

Y

INSERT INTO (ColumnList)

Y

Y

Y

Y

Y

UPDATE … WHERE

Y

Y

Y

Y

Y

DELETE … WHERE

Y

Y

Y

Y

Y

MERGE INTO

Y

Y

N

Y

Y

ANALYTIC—reusable WINDOWING CLAUSE

Y

Y

N

N

N

ANALYTIC—CURRENT ROW

Y

Y

N

Y

Y

ANALYTIC—UNBOUNDED

Y

N

Y

Y

Y

ANALYTIC—RANGE …

N

Y

N

Y

Y

WHILE DO

N

N

Y

Y

Y

VIEW WITH PARAMETERS

Y

N

N

N

说明

SQL Function/Storage Procedure一定程度上能满足MaxCompute参数化VIEW的功能。

N

MaxCompute SCRIPTING语法差异对比

语法

MaxCompute

Hive

MySQL

Oracle

SQL Server

TABLE VARIABLE

Y

Y

Y

Y

Y

SCALER VARIABLE

Y

Y

Y

Y

Y

ERROR HANDLING—RAISE ERROR

N

N

Y

Y

Y

ERROR HANDLING—TRY CATCH

N

N

N

Y

Y

FLOW CONTROL—LOOP

N

N

Y

Y

Y

CURSOR

N

N

Y

Y

Y

  • 本页导读 (1)