Amazon Athena
ユーザーガイド

予約キーワード

Athena で予約キーワードを含むクエリを実行する場合、特殊文字で囲んでエスケープする必要があります。このトピックのリストを使用して、Athena で予約されているキーワードを確認してください。

DDL ステートメントで予約キーワードをエスケープするには、バックティック (`) で囲みます。SQL の SELECT ステートメントや ビュー でのクエリで予約キーワードをエスケープするには、二重引用符 ('') で囲みます。

DDL ステートメントの予約キーワードのリスト

Athena では、DDL ステートメントで以下にリストされた予約キーワードを使用します。Athena でこれらをエスケープせずに使用すると、エラーが発生します。予約キーワードをエスケープするには、バックティック (`) で囲みます。

DDL 予約キーワードをバックティック (`) で囲まずに DDL ステートメントで識別子名として使用することはできません。

ALL, ALTER, AND, ARRAY, AS, AUTHORIZATION, BETWEEN, BIGINT, BINARY, BOOLEAN, BOTH, BY, CASE, CASHE, CAST, CHAR, COLUMN, CONF, CONSTRAINT, COMMIT, CREATE, CROSS, CUBE, CURRENT, CURRENT_DATE, CURRENT_TIMESTAMP, CURSOR, DATABASE, DATE, DAYOFWEEK, DECIMAL, DELETE, DESCRIBE, DISTINCT, DOUBLE, DROP, ELSE, END, EXCHANGE, EXISTS, EXTENDED, EXTERNAL, EXTRACT, FALSE, FETCH, FLOAT, FLOOR, FOLLOWING, FOR, FOREIGN, FROM, FULL, FUNCTION, GRANT, GROUP, GROUPING, HAVING, IF, IMPORT, IN, INNER, INSERT, INT, INTEGER, INTERSECT, INTERVAL, INTO, IS, JOIN, LATERAL, LEFT, LESS, LIKE, LOCAL, MACRO, MAP, MORE, NONE, NOT, NULL, NUMERIC, OF, ON, ONLY, OR, ORDER, OUT, OUTER, OVER, PARTIALSCAN, PARTITION, PERCENT, PRECEDING, PRECISION, PRESERVE, PRIMARY, PROCEDURE, RANGE, READS, REDUCE, REGEXP, REFERENCES, REVOKE, RIGHT, RLIKE, ROLLBACK, ROLLUP, ROW, ROWS, SELECT, SET, SMALLINT, START,TABLE, TABLESAMPLE, THEN, TIME, TIMESTAMP, TO, TANSFORM, TRIGGER, TRUE, TRUNCATE, UNBOUNDED,UNION, UNIQUEJOIN, UPDATE, USER, USING, UTC_TMESTAMP, VALUES, VARCHAR, VIEWS, WHEN, WHERE, WINDOW, WITH

SQL SELECT ステートメントの予約キーワードのリスト

Athena では、SQL の SELECT ステートメントおよびビューでのクエリで、以下の予約キーワードを使用します。

これらのキーワードを識別子として使用する場合、クエリステートメントでは二重引用符 ('') で囲む必要があります。

ALTER, AND, AS, BETWEEN, BY, CASE, CAST, CONSTRAINT, CREATE, CROSS, CUBE, CURRENT_DATE, CURRENT_PATH, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER, DEALLOCATE, DELETE, DESCRIBE, DISTINCT, DROP, ELSE, END, ESCAPE, EXCEPT, EXECUTE, EXISTS, EXTRACT, FALSE, FOR, FROM, FULL, GROUP, GROUPING, HAVING, IN, INNER, INSERT, INTERSECT, INTO, IS, JOIN, LEFT, LIKE, LOCALTIME, LOCALTIMESTAMP, NATURAL, NORMALIZE, NOT, NULL, ON, OR, ORDER, OUTER, PREPARE, RECURSIVE, RIGHT, ROLLUP, SELECT, TABLE, THEN, TRUE, UNESCAPE, UNION, UNNEST, USING, VALUES, WHEN, WHERE, WITH

予約ワードを含むクエリの例

次の例のクエリでは、バックティック (') を使用して DDL に関連する予約キーワード partition および date をエスケープします。これらはテーブル名および列の名前の 1 つに使用されています。

CREATE EXTERNAL TABLE `partition` ( `date` INT, col2 STRING ) PARTITIONED BY (year STRING) STORED AS TEXTFILE LOCATION 's3://test_bucket/test_examples/';

次のクエリ例では、ALTER TABLE ADD PARTITIONALTER TABlE DROP PARTITION ステートメントに、DDL に関連する予約キーワードを含む列名が含まれています。DDL 予約キーワードは、バックティック (') で囲まれます。

ALTER TABLE test_table ADD PARTITION (`date` = '2018-05-14')
ALTER TABLE test_table DROP PARTITION (`partition` = 'test_partition_value')

次のクエリ例では、予約キーワード (end) が SELECT ステートメントの識別子として含まれています。キーワードは二重引用符でエスケープされます。

SELECT * FROM TestTable WHERE "end" != nil;