予約語とスキーマ

適用対象: 「はい」のチェック マーク 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

式の特殊な単語

次の一覧の識別子は任意の場所で使用できますが、Azure Databricks では、特定のコンテキストで内のキーワードとして優先的に扱われます。

  • NULL

    SQL NULL 値。

  • DEFAULT

    列の既定値を示します。

  • TRUE

    SQL ブール値の true 値。

  • FALSE

    SQL ブール値の false 値。

  • LATERAL

    明示的な LATERAL 相関を示す列修飾子として使用されます。

アクサン グラーブを使用するか (NULLDEFAULT)、テーブル名または別名で列名を修飾します。

Azure Databricks では、CURRENT_ プレフィックスを使用して、一部の構成設定やその他のコンテキスト変数を参照します。 アンダーバー (_) プレフィックスは、Azure Databricks 擬似列向けです。 Databricks Runtime では、既存の擬似列は _metadata 列です。

これらのプレフィックスが付いた識別子は、優先的に扱われません。 ただし、予期しない動作を回避するために、これらのプレフィックスを使用した列または列の別名は避けてください。

予約済みカタログ名

Azure Databricks では、現在または将来使用するために、次の一覧のカタログ名が予約されています。

  • SYS で始まるカタログ名
  • DATABRICKS で始まるカタログ名

これらの名前は使用しないでください。

予約済みスキーマ名

Azure Databricks では、現在または将来使用するために、次の一覧のスキーマ名が予約されています。

  • BUILTIN

    今後、組み込み関数を修飾するために使用します。

  • SESSION

    今後、一時ビューと関数を修飾するために使用します。

  • INFORMATION_SCHEMA

    SQL 標準情報スキーマが保持されます。

  • 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

    GLOBAL、GRANT、GROUP、GROUPING

  • H

    HAVING

  • I

    IN、INNER、INSERT、INTERSECT、INTERVAL、INTO、IS

  • J

    JOIN

  • L

    LEADING、LEFT、LIKE、LOCAL

  • N

    NATURAL、NO、NOT、NULL

  • O

    OF、ON、ONLY、OR、ORDER、OUT、OUTER、OVERLAPS

  • P

    PARTITION、POSITION、PRIMARY

  • 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

    VALUES

  • 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