예약어 및 스키마
적용 대상: Databricks SQL
Databricks Runtime
예약어는 예기치 않은 동작을 방지하기 위해 식별자로 사용해서는 안 되는 SQL 언어에서 키워드로 사용되는 리터럴입니다.
예약된 스키마 이름은 Azure Databricks에 특별한 의미가 있습니다.
예약어
Azure Databricks는 특정 리터럴이 식별자로 사용되는 것을 공식적으로 허용하지 않습니다.
다음 식별자 목록 중를 테이블 별칭으로 사용하려면, 이름을 백틱(`)으로 묶어야 합니다.
- ANTI
- CROSS
- EXCEPT
- FULL
- INNER
- INTERSECT
- JOIN
- LATERAL
- LEFT
- MINUS
- NATURAL
- ON
- RIGHT
- SEMI
- UNION
- USING
식의 특수 단어
다음
NULL
SQL
NULL
값입니다.DEFAULT
열 기본값을 나타냅니다.
TRUE
SQL 부울
true
값입니다.FALSE
SQL 부울
false
값입니다.LATERAL
명시적 횡적 상관 관계를 나타내는 열 한정자로 사용됩니다.
백틱(NULL
및 DEFAULT
)을 사용하거나 열 이름을 테이블 이름 또는 별칭으로 한정합니다.
Azure Databricks는 CURRENT_
접두사를 사용하여 일부 구성 설정 또는 다른 컨텍스트 변수를 참조합니다.
언더바(
이러한 접두사가 있는 식별자는 우선적으로 처리되지 않습니다 .
그러나 예기치 않은 동작을 방지하려면 이러한 접두사를 사용하는 열 또는
예약된 카탈로그 이름
Azure Databricks는 현재 또는 향후 사용을 위해
-
SYS
시작하는 카탈로그 이름 -
DATABRICKS
시작하는 카탈로그 이름
이러한 이름을 사용하지 말아야 합니다.
예약된 스키마 이름
Azure Databricks는 현재 또는 향후 사용을 위해
BUILTIN
나중에 기본 제공 함수를 한정하는 데 사용합니다.
SESSION
임시 보기 및 함수를 한정하는 데 나중에 사용합니다.
INFORMATION_SCHEMA
SQL Standard 정보 스키마보유합니다.
SYS
또는DATABRICKS
시작하는 스키마 이름
이러한 이름을 사용하지 말아야 합니다.
ANSI 예약어
Azure Databricks는 ANSI 예약어를 적용하지 않습니다. 다음 SQL2016 키워드 목록은 정보 제공 목적으로만 제공됩니다.
A
ALL, ALTER, AND, ANY, ARRAY, AS, AT, AUTHORIZATION
B
BETWEEN, BOTH, BY
C
CASE, CAST, CHECK, COLLATE, COLUMN, COMMIT, CONSTRAINT, CREATE, CROSS, CUBE, CURRENT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER
D
DELETE, DESCRIBE, DISTINCT, DROP
E
ELSE, END, ESCAPE, EXCEPT, EXISTS, EXTERNAL, EXTRACT
F
FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION
G
글로벌, GRANT, GROUP, GROUPING
H
HAVING
I
인, 내부, INSERT, 교차, 간격, 에, 이다
J
JOIN
L
LEADING, LEFT, LIKE, LOCAL
N
NATURAL, NO, NOT, NULL
O
OF, ON, ONLY, OR, ORDER, OUT, OUTER, OVERLAPS
P
PARTITION, 위치, 주요
R
범위, 참조, REVOKE, 오른쪽, 롤백, 롤업, 행, 행
S
SELECT, SESSION_USER, SET, SOME, START
T
TABLE, TABLESAMPLE, 다음으로, 시간, ~로, 후행, 참, 잘라내기
U
유니온, 유니크, 언노운, UPDATE, 사용자, 사용 중
V
VALUES
W
언제, WHERE, WINDOW, 함께
예제
-- Using SQL keywords
> CREATE TEMPORARY VIEW where(where) AS (VALUES (1));
> SELECT where from FROM where select;
1
-- Usage of NULL
> SELECT NULL, `null`, T.null FROM VALUES(1) AS T(null);
NULL 1 1
-- current_date is eclipsed by the column alias T.current_date
> SELECT (SELECT current_date), current_date, current_date()
FROM VALUES(1) AS T(current_date);
2021-10-23 1 2021-10-23
-- Reserved keyword ANTI cannot be used as table alias
> SELECT * FROM VALUES(1) AS ANTI;
Error in query: no viable alternative at input 'ANTI'
> SELECT * FROM VALUES(1) AS `ANTI`;
1