Zastrzeżone wyrazy i schematy
Dotyczy: wyboru SQL usługi Databricks Databricks Runtime
Zastrzeżone słowa są literałami używanymi jako słowa kluczowe w języku SQL, które nie powinny być używane jako identyfikatory, aby uniknąć nieoczekiwanego zachowania.
Nazwy schematów zarezerwowanych mają specjalne znaczenie dla usługi Azure Databricks.
Słowa zastrzeżone
Usługa Azure Databricks nie zezwala formalnie na użycie żadnych konkretnych literałów jako identyfikatorów.
Aby jednak użyć dowolnej z poniższych list identyfikatorów jako aliasu tabeli, należy otoczyć nazwę znacznikami wstecznymi (').
- ANTY
- KRZYŻ
- OPRÓCZ
- PEŁNE
- WEWNĘTRZNY
- PRZECINAJĄ SIĘ
- DOŁĄCZYĆ
- BOCZNE
- LEWEJ
- MINUS
- NATURALNE
- NA
- PRAWO
- PÓŁ
- UNII
- ZA POMOCĄ
Słowa specjalne w wyrażeniach
Poniższa lista identyfikatorów może być używana w dowolnym miejscu, ale usługa Azure Databricks traktuje je preferencyjnie jako słowa kluczowe w wyrażeniach w określonych kontekstach:
NULL
Wartość SQL
NULL
.DEFAULT
Wskazuje domyślną kolumnę.
TRUE
Wartość logiczna
true
SQL.FALSE
Wartość logiczna
false
SQL.LATERAL
Służy jako kwalifikator kolumn do wskazywania jawnej korelacji bocznej.
Użyj znaczników wstecznych (NULL
i DEFAULT
) lub zakwalifikuj nazwy kolumn z nazwą tabeli lub aliasem.
Usługa Azure Databricks używa prefiksu CURRENT_
do odwoływania się do niektórych ustawień konfiguracji lub innych zmiennych kontekstowych.
Prefiks paska under (_
) jest przeznaczony dla pseudo kolumn usługi Azure Databricks.
W środowisku Databricks Runtime istniejąca pseudokolumna jest kolumną _metadata.
Identyfikatory z tymi prefiksami nie są traktowane preferencyjnie. Należy jednak unikać używania tych prefiksów kolumn lub aliasów kolumn , aby uniknąć nieoczekiwanego zachowania.
Nazwy katalogów zarezerwowanych
Usługa Azure Databricks zastrzega sobie następującą listę nazw katalogów do bieżącego lub przyszłego użycia:
- Nazwy katalogów rozpoczynające się od
SYS
- Nazwy katalogów rozpoczynające się od
DATABRICKS
Unikaj używania tych nazw.
Nazwy schematów zarezerwowanych
Usługa Azure Databricks zastrzega sobie następującą listę nazw schematów do bieżącego lub przyszłego użycia:
BUILTIN
Przyszłe użycie do kwalifikowania wbudowanych funkcji.
SESSION
Przyszłe użycie do kwalifikowania widoków tymczasowych i funkcji.
INFORMATION_SCHEMA
Przechowuje standardowy schemat informacji SQL.
Nazwy schematów rozpoczynające się od
SYS
lubDATABRICKS
Unikaj używania tych nazw.
Słowa zarezerwowane ANSI
Usługa Azure Databricks nie wymusza zastrzeżonych słów ANSI. Poniższa lista słów kluczowych SQL2016 jest udostępniana tylko do celów informacyjnych.
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
POSIADANIE
I
IN, INNER, INSERT, INTERSECT, INTERVAL, INTO, IS
J
DOŁĄCZYĆ
L
WIODĄCE, LEWE, PODOBNE, LOKALNE
N
NATURAL, NO, NOT, NULL
O
OF, ON, ONLY, OR, ORDER, OUT, OUTER, OVERLAPS
P
PARTYCJA, POZYCJA, PODSTAWOWA
R
ZAKRES, ODWOŁANIA, PRAWO, WYCOFYWANIE, ROLLUP, WIERSZ, WIERSZ
S
SELECT, SESSION_USER, SET, SOME, START
T
TABLE, TABLESAMPLE, THEN, TIME, TO, TRAILING, TRUE, TRUNCATE
U
UNION, UNIQUE, UNKNOWN, UPDATE, USER, USING
V
WARTOŚCI
W
WHEN, WHERE, WINDOW, WITH
Przykłady
-- 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