예약된 단어 및 스키마

적용 대상:검사 표시됨 예 Databricks SQL 검사 예 Databricks Runtime으로 표시됨

예약된 단어는 예기치 않은 동작을 방지하기 위해 식별자로 사용해서는 안 되는 SQL 언어에서 키워드로 사용되는 리터럴입니다.

예약된 스키마 이름은 Azure Databricks에 특별한 의미가 있습니다.

예약어

Azure Databricks는 특정 리터럴이 식별자로 사용되는 것을 공식적으로 허용하지 않습니다.

그러나 다음 식별자 목록을 테이블 별칭으로 사용하려면 이름을 백틱(')으로 묶어야 합니다.

  • 안티
  • 크로스
  • 제외한
  • 전체
  • 내부
  • 교차
  • 가입
  • 측면
  • 왼쪽
  • 마이너스
  • 자연
  • 오른쪽
  • 연합
  • 사용

식의 특수 단어

다음 식별자 목록은 어디서나 사용할 수 있지만 Azure Databricks는 특정 컨텍스트에서 내의 키워드로 우선적으로 처리합니다.

  • NULL

    SQL NULL 값입니다.

  • DEFAULT

    열 기본값을 나타냅니다.

  • TRUE

    SQL 부울 true 값입니다.

  • FALSE

    SQL 부울 false 값입니다.

  • LATERAL

    명시적 횡적 상관 관계를 나타내는 열 한정자로 사용됩니다.

백틱(NULLDEFAULT)을 사용하거나 열 이름을 테이블 이름 또는 별칭으로 한정합니다.

Azure Databricks는 접두사를 CURRENT_ 사용하여 일부 구성 설정 또는 기타 컨텍스트 변수를 참조합니다. 언더바(_) 접두사는 Azure Databricks 의사 열을 위한 것입니다. Databricks Runtime에서 기존 의사 열은 _metadata 열입니다.

이러한 접두사를 가진 식별자는 우선적으로 처리 되지 않습니다 . 그러나 예기치 않은 동작을 방지하려면 이러한 접두사를 사용하여 열 또는 열 별칭 을 사용하지 않도록 합니다.

예약된 카탈로그 이름

Azure Databricks는 현재 또는 나중에 사용할 카탈로그 이름 목록을 예약합니다.

  • 로 시작하는 카탈로그 이름 SYS
  • 로 시작하는 카탈로그 이름 DATABRICKS

이러한 이름을 사용하지 마세요.

예약된 스키마 이름

Azure Databricks는 현재 또는 향후 사용을 위해 다음 스키마 이름 목록을 예약합니다.

  • BUILTIN

    나중에 기본 제공 함수를 한정하는 데 사용합니다.

  • SESSION

    나중에 를 사용하여 임시 보기 및 함수를 한정합니다.

  • INFORMATION_SCHEMA

    SQL Standard 정보 스키마를 보유합니다.

  • 또는 로 SYS 시작하는 스키마 이름 DATABRICKS

이러한 이름을 사용하지 마세요.

ANSI 예약어

Azure Databricks는 ANSI 예약 단어를 적용하지 않습니다. 다음 SQL2016 키워드 목록은 정보 제공 목적으로만 제공됩니다.

  • 변수를 잠그기 위한

    ALL, ALTER 및, 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

  • 전자

    ELSE, END, ESCAPE, EXCEPT, EXISTS, EXTERNAL, EXTRACT

  • F

    FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION

  • G

    GLOBAL, GRANT, GROUP, GROUPING

  • H

  • IN, INNER, INSERT, INTERSECT, INTERVAL, INTO, IS

  • J

    가입

  • L

    선행, 왼쪽, 좋아요, 로컬

  • N

    NATURAL, NO, NOT, NULL

  • O

    OF, ON, ONLY 또는, ORDER, OUT, OUT, OUTER, OVERLAPS

  • P

    파티션, 위치, 기본

  • R

    RANGE, REFERENCES, REVOKE, RIGHT, ROLLBACK, ROLLUP, ROW, ROWS

  • S

    SELECT, SESSION_USER, SET, SOME, START

  • T

    TABLE, TABLESAMPLE, THEN, TIME, TO, TRAILING, TRUE, TRUNCATE

  • U

    UNION, UNIQUE, UNKNOWN, UPDATE, USER, USING

  • V

  • W

    WHEN, WHERE, WINDOW, WITH

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