Mots et schémas réservés
S’applique à : Databricks SQL Databricks Runtime
Les mots réservés sont des littéraux utilisés comme mots-clés par le langage SQL qui ne doivent pas être utilisés comme identifiants pour éviter un comportement inattendu.
Les noms de schéma réservés ont une signification particulière pour Azure Databricks.
Mots réservés
Azure Databricks n’interdit pas formellement l’utilisation de littéraux spécifiques en tant qu’identificateurs.
Toutefois, pour utiliser l’une des listes d’identificateurs suivante comme alias de table, vous devez placer le nom entre accents graves (`).
- ANTI
- CROSS
- EXCEPT
- FULL
- INNER
- INTERSECT
- JOIN
- LATERAL
- LEFT
- MINUS
- NATURAL
- ACTIVÉ
- RIGHT
- SEMI
- UNION
- USING
Mots spéciaux dans les expressions
La liste d’identificateurs suivante peut être utilisée n’importe où, mais Azure Databricks traite ceux-ci de manière préférentielle comme des mots clés dans des expressions dans certains contextes :
NULL
Valeur SQL
NULL
.DEFAULT
Indique une colonne par défaut.
TRUE
Valeur booléenne
true
SQL.FALSE
Valeur booléenne
false
SQL.LATERAL
Utilisé comme qualificateur de colonne pour indiquer une corrélation latérale explicite.
Utilisez des accents graves (NULL
et DEFAULT
) ou qualifiez les noms de colonne avec un nom de table ou un alias.
Azure Databricks utilise le préfixe CURRENT_
pour faire référence à certains paramètres de configuration ou à d’autres variables de contexte.
Le préfixe non souligné (_
) est destiné aux pseudo colonnes Azure Databricks.
Dans Databricks Runtime, la colonne _metadata est une pseudo colonne existante.
Les identificateurs avec ces préfixes ne sont pas traités de façon préférentielle. Toutefois, évitez les colonnes ou les alias de colonne à l’aide de ces préfixes pour éviter un comportement inattendu.
Noms de catalogue réservés
Azure Databricks réserve la liste suivante de noms de catalogues pour une utilisation actuelle ou ultérieure :
- Noms de catalogues de données commençant par
SYS
- Noms de catalogues de données commençant par
DATABRICKS
Évitez d’utiliser ces noms.
Noms de schémas réservés
Azure Databricks réserve la liste suivante de noms de schéma pour une utilisation actuelle ou ultérieure :
BUILTIN
Utilisation future pour qualifier des fonctions intégrées.
SESSION
Utilisation future pour qualifier des fonctions et des affichages temporaires.
INFORMATION_SCHEMA
Contient le schéma d’informations SQL Standard.
Noms de schémas commençant par
SYS
ouDATABRICKS
Évitez d’utiliser ces noms.
Mots réservés ANSI
Azure Databricks n’applique pas les mots réservés ANSI. La liste suivante de mots clés SQL2016 est fournie à titre d’information uniquement.
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, QUEUE, TRUE, TRUNCATE
U
UNION, UNIQUE, UNKNOWN, UPDATE, USER, USING
V
VALUES
W
WHEN, WHERE, WINDOW, WITH
Exemples
-- 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