本ページでは、MaxCompute、Hive、MySQL、Oracle、SQL Server の各データベースにおける SQL ステートメントのサポート状況を比較します。SQL ワークロードを MaxCompute へ移行する前に、互換性のギャップを確認するためにご活用ください。
DDL ステートメントのサポート状況
| ステートメント | MaxCompute | Hive | MySQL | Oracle | SQL Server |
|---|
| CREATE TABLE — PRIMARY KEY | Y | いいえ | ○ | はい | はい |
| CREATE TABLE — NOT NULL | はい | N | はい | はい | はい |
| CREATE TABLE-CLUSTER BY | Y | ○ | N | Y | Y |
| CREATE TABLE — EXTERNAL TABLE | はい (OSS, OTS, TDDL) | Y | N | はい | N |
| CREATE TABLE — TEMPORARY TABLE | × | ○ | ○ | はい | Y(「#」プレフィックス付き) |
| INDEX — CREATE INDEX | N | ○ | はい | ○ | Y |
| VIRTUAL COLUMN | N | いいえ | N | はい | ○ |
DML ステートメントのサポート状況
| ステートメント | MaxCompute | Hive | MySQL | Oracle | SQL Server |
|---|
| CTE | はい | ○ | はい | Y | ○ |
| SELECT — 再帰 CTE | いいえ | いいえ | Y | はい | ○ |
| SELECT-GROUP BY ROLL UP | はい | Y | ○ | ○ | はい |
| SELECT — GROUP BY CUBE | ○ | はい | N | ○ | ○ |
| SELECT — GROUPING SET | Y | はい | いいえ | はい | Y |
| SELECT — IMPLICIT JOIN | Y | はい | N | ○ | Y |
| SELECT — PIVOT | N | いいえ | N | Y | はい |
| SEMI JOIN | はい | はい | Y | × | N |
| SELECT TRANSFORM | はい | ○ | N | N | N |
| SELECT — 相関サブクエリ | はい | Y | はい | はい | ○ |
| ORDER BY NULLS FIRST/LAST | はい | Y | Y | Y | Y |
| LATERAL VIEW | Y | Y | N | ○ | Y (CROSS APPLY キーワード) |
| SET OPERATOR — UNION(distinct) | Y | はい | ○ | Y | ○ |
| SET OPERATOR — INTERSECT | Y | N | いいえ | ○ | ○ |
| SET OPERATOR — MINUS/EXCEPT | Y | N | N | はい | ○(EXCEPT キーワード使用) |
| INSERT INTO … VALUES | はい | はい | Y | ○ | はい |
| INSERT INTO(カラムリスト指定) | ○ | はい | Y | はい | ○ |
| UPDATE … WHERE | はい | ○ | はい | はい | はい |
| DELETE … WHERE | はい | ○ | はい | はい | はい |
| MERGE INTO | はい | Y | N | はい | ○ |
| ANALYTIC — 再利用可能な WINDOWING CLAUSE | はい | はい | N | N | いいえ |
| ANALYTIC-CURRENT ROW | Y | Y | N | ○ | Y |
| ANALYTIC-UNBOUNDED | はい | いいえ | ○ | はい | ○ |
| ANALYTIC — RANGE … | N | Y | N | はい | はい |
| WHILE DO | N | N | ○ | Y | はい |
スクリプトステートメントのサポート状況
| ステートメント | MaxCompute | Hive | MySQL | Oracle | SQL Server |
|---|
| TABLE VARIABLE | Y | ○ | はい | はい | はい |
| SCALER VARIABLE | はい | はい | はい | はい | はい |
| ERROR HANDLING — RAISE ERROR | N | いいえ | ○ | はい | はい |
| ERROR HANDLING — TRY CATCH | いいえ | N | いいえ | ○ | Y |
| FLOW CONTROL — LOOP | N | N | Y | Y | Y |
| CURSOR | N | N | はい | はい | はい |