다음을 통해 공유


예약어 및 스키마

적용 대상:예로 표시된 확인 Databricks SQL 예로 표시된 확인 Databricks Runtime

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

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

예약어

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

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

  • ANTI
  • CROSS
  • EXCEPT
  • FULL
  • INNER
  • INTERSECT
  • JOIN
  • LATERAL
  • LEFT
  • MINUS
  • NATURAL
  • ON
  • RIGHT
  • SEMI
  • UNION
  • USING

식의 특수 단어

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

  • NULL

    SQL NULL 값입니다.

  • DEFAULT

    column 기본값을 나타냅니다.

  • TRUE

    SQL 부울 true 값입니다.

  • FALSE

    SQL 부울 false 값입니다.

  • LATERAL

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

백틱(NULLDEFAULT)을 사용하거나 column 이름을 table 이름 또는 별칭과 함께 qualify.

Azure Databricks는 CURRENT_ 접두사를 사용하여 일부 구성 설정 또는 다른 컨텍스트 변수를 참조합니다. 언더바(_) 접두사는 Azure Databricks 가상의 columns에 사용됩니다. Databricks Runtime에서 기존 의사 column는 _metadata column입니다.

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

예약된 catalog 이름

Azure Databricks는 현재 또는 향후 사용을 위해 다음의 list을(를) catalog 이름으로 예약합니다.

  • Catalog 이름은 SYS으로 시작합니다.
  • Catalog 이름 중 DATABRICKS으로 시작하는 것

이러한 이름을 사용하지 말아야 합니다.

예약된 schema 이름

Azure Databricks는 현재 또는 향후 사용을 위해 다음의 listschema 이름를 예약합니다.

  • BUILTIN

    나중에 qualify에 사용할 기본 제공 함수.

  • SESSION

    차후 임시 qualify 및 views 함수 사용.

  • INFORMATION_SCHEMA

    SQL 표준 정보 schema을 보유하고 있습니다.

  • SYS 또는 DATABRICKS로 시작하는 Schema 이름

이러한 이름을 사용하지 말아야 합니다.

ANSI 예약어

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

  • 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