Parole riservate e schemi
Si applica a: Databricks SQL
Databricks Runtime
Le parole riservate sono valori letterali usati come parole chiave dal linguaggio SQL che non devono essere usati come identificatori per evitare comportamenti imprevisti.
I nomi degli schemi riservati hanno un significato speciale per Azure Databricks.
Parole riservate
Azure Databricks non consente formalmente l'uso di valori letterali specifici come identificatori.
Tuttavia, per utilizzare uno dei seguenti elenchi di identificatori di come alias di tabella , è necessario racchiudere il nome con segni di graduazione indietro (').
- ANTI
- CROSS
- EXCEPT
- FULL
- INNER
- INTERSECT
- JOIN
- LATERAL
- LEFT
- MENO
- NATURAL
- In...
- RIGHT
- MEZZO
- UNION
- USING
Parole speciali nelle espressioni
L'elenco seguente di identificatori può essere usato ovunque, ma Azure Databricks li considera preferibilmente come parole chiave all'interno di espressioni in determinati contesti:
NULL
Valore SQL
NULL
.DEFAULT
Indica un valore predefinito per la colonna.
TRUE
Valore booleano
true
SQL.FALSE
Valore booleano
false
SQL.LATERAL
Usato come qualificatore di colonna per indicare la correlazione laterale esplicita.
Usare i segni di graduazione (NULL
e DEFAULT
) o qualificare i nomi delle colonne con un nome o un alias di tabella.
Azure Databricks usa il CURRENT_
prefisso per fare riferimento ad alcune impostazioni di configurazione o ad altre variabili di contesto.
Il prefisso underbar (_
) è destinato ad Azure Databricks pseudo colonne.
In Databricks Runtime una pseudo colonna esistente è la colonna _metadata.
Gli identificatori con questi prefissi non vengono trattati preferibilmente. Tuttavia, evitare l'uso di colonne o alias di colonna con questi prefissi per evitare comportamenti imprevisti.
Nomi di catalogo riservati
Azure Databricks riserva l'elenco seguente di nomi di catalogo per uso corrente o futuro:
- Nomi di catalogo a partire da
SYS
- Nomi di catalogo a partire da
DATABRICKS
Evitare di usare questi nomi.
Nomi di schema riservati
Azure Databricks riserva l'elenco seguente dei nomi degli schemi per l'uso corrente o futuro:
BUILTIN
Uso futuro per qualificare le funzioni predefinite.
SESSION
Uso futuro per qualificare le visualizzazioni e le funzioni temporanee.
INFORMATION_SCHEMA
Contiene lo schema delle informazioni standard SQL.
Nomi di schema che iniziano con
SYS
oDATABRICKS
Evitare di usare questi nomi.
Parole riservate ANSI
Azure Databricks non applica parole riservate ANSI. L'elenco seguente di parole chiave SQL2016 viene fornito solo a scopo informativo.
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
GLOBALE, GRANT, GRUPPO, RAGGRUPPAMENTO
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, POSIZIONE, PRIMARIO
R
INTERVALLO, RIFERIMENTI, REVOKE, DESTRA, ROLLBACK, ROLLUP, RIGA, RIGHE
S
SELECT, SESSION_USER, SET, QUALCHE, INIZIO
T
TABLE, TABLESAMPLE, ALLORA, TEMPO, A, TRAILING, VERO, TRONCARE
U
UNION, UNIQUE, SCONOSCIUTO, UPDATE, UTENTE, USING
V
VALUES
W
QUANDO, WHERE, WINDOW, CON
Esempi
-- 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