All Products
Search
Document Center

MaxCompute:Differences from other SQL syntaxes

Last Updated:Mar 26, 2026

This page compares SQL statement support across MaxCompute, Hive, MySQL, Oracle, and SQL Server. Use it to identify compatibility gaps before migrating SQL workloads to MaxCompute.

Support for DDL statements

StatementMaxComputeHiveMySQLOracleSQL Server
CREATE TABLE-PRIMARY KEYYNYYY
CREATE TABLE-NOT NULLYNYYY
CREATE TABLE-CLUSTER BYYYNYY
CREATE TABLE-EXTERNAL TABLEY (OSS, OTS, TDDL)YNYN
CREATE TABLE-TEMPORARY TABLENYYYY (with the # prefix)
INDEX-CREATE INDEXNYYYY
VIRTUAL COLUMNNNNYY

Support for DML statements

StatementMaxComputeHiveMySQLOracleSQL Server
CTEYYYYY
SELECT-recursive CTENNYYY
SELECT-GROUP BY ROLL UPYYYYY
SELECT-GROUP BY CUBEYYNYY
SELECT-GROUPING SETYYNYY
SELECT-IMPLICIT JOINYYNYY
SELECT-PIVOTNNNYY
SEMI JOINYYYNN
SELECT TRANSFORMYYNNN
SELECT-correlated subqueryYYYYY
ORDER BY NULLS FIRST/LASTYYYYY
LATERAL VIEWYYNYY (CROSS APPLY keyword)
SET OPERATOR-UNION (distinct)YYYYY
SET OPERATOR-INTERSECTYNNYY
SET OPERATOR-MINUS/EXCEPTYNNYY (keyword EXCEPT)
INSERT INTO ... VALUESYYYYY
INSERT INTO (ColumnList)YYYYY
UPDATE ... WHEREYYYYY
DELETE ... WHEREYYYYY
MERGE INTOYYNYY
ANALYTIC-reusable WINDOWING CLAUSEYYNNN
ANALYTIC-CURRENT ROWYYNYY
ANALYTIC-UNBOUNDEDYNYYY
ANALYTIC-RANGE ...NYNYY
WHILE DONNYYY

Support for scripting statements

StatementMaxComputeHiveMySQLOracleSQL Server
TABLE VARIABLEYYYYY
SCALER VARIABLEYYYYY
ERROR HANDLING-RAISE ERRORNNYYY
ERROR HANDLING-TRY CATCHNNNYY
FLOW CONTROL-LOOPNNYYY
CURSORNNYYY