예약어 - Amazon Athena

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

예약어

Athena에서 예약어가 포함된 쿼리를 실행할 때는 쿼리를 특수 문자로 묶어서 이스케이프해야 합니다. 어떤 키워드가 Athena에 예약되어 있는지 확인하려면 이 주제에 있는 목록을 사용하십시오.

DDL 문에서 예약어를 이스케이프하려면 해당 문을 악센트 부호(`)로 묶습니다. 뷰SELECT에 대한 SQL 문과 쿼리에서 예약어를 이스케이프하려면 예약어를 큰따옴표('')로 묶습니다.

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, TRANSFORM, TRIGGER, TRUE, TRUNCATE, UNBOUNDED,UNION, UNIQUEJOIN, UPDATE, USER, USING, UTC_TIMESTAMP, 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, FIRST, FOR, FROM, FULL, GROUP, GROUPING, HAVING, IN, INNER, INSERT, INTERSECT, INTO, IS, JOIN, LAST, 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 관련 예약어 partitiondate를 이스케이프합니다.

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')

다음 예제 쿼리는 SELECT 문에 예약어(end)를 식별자로 포함합니다. 키워드는 큰따옴표로 이스케이프되어 있습니다.

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

다음 예제 쿼리는 SELECT 문에 예약어(first)를 포함합니다. 키워드는 큰따옴표로 이스케이프되어 있습니다.

SELECT "itemId"."first" FROM testTable LIMIT 10;