予約語とスキーマ
適用対象: 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 相関を示す列修飾子として使用されます。
アクサン グラーブを使用するか (NULL
と DEFAULT
)、テーブル名または別名で列名を修飾します。
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