Gereserveerde woorden en schema's
Van toepassing op: Databricks Databricks Runtime
Gereserveerde woorden zijn letterlijke waarden die door de SQL-taal als trefwoorden worden gebruikt en die niet als id's mogen worden gebruikt om onverwacht gedrag te voorkomen.
Gereserveerde schemanamen hebben een speciale betekenis voor Azure Databricks.
Gereserveerde woorden
Azure Databricks staat niet formeel toe dat specifieke letterlijke waarden als id's worden gebruikt.
Als u echter een van de volgende lijst met id's als een tabelalias wilt gebruiken, moet u de naam omringen met terugtikken (').
- ANTI
- KRUIS
- BEHALVE
- VOLLEDIGE
- INNERLIJKE
- SNIJDEN
- JOIN
- LATERALE
- LINKS
- MINUS
- NATUURLIJKE
- OP
- RECHT
- SEMI
- UNIE
- GEBRUIK
Speciale woorden in expressies
De volgende lijst met id's kan overal worden gebruikt, maar Azure Databricks behandelt ze bij voorkeur als trefwoorden binnen expressies in bepaalde contexten:
NULL
De SQL-waarde
NULL
.DEFAULT
Geeft een standaardkolom aan.
TRUE
De booleaanse
true
SQL-waarde.FALSE
De booleaanse
false
SQL-waarde.LATERAL
Wordt gebruikt als een kolomkwalificatie om expliciete laterale correlatie aan te geven.
Gebruik back-ticks (NULL
en DEFAULT
) of kwalificeer de kolomnamen met een tabelnaam of alias.
Azure Databricks gebruikt het CURRENT_
voorvoegsel om te verwijzen naar bepaalde configuratie-instellingen of andere contextvariabelen.
Het voorvoegsel onder de balk (_
) is bedoeld voor pseudokolommen van Azure Databricks.
In Databricks Runtime is een bestaande pseudokolom de _metadata kolom.
Id's met deze voorvoegsels worden niet bij voorkeur behandeld. Vermijd echter kolommen of kolomaliassen met deze voorvoegsels om onverwacht gedrag te voorkomen.
Gereserveerde catalogusnamen
Azure Databricks reserveert de volgende lijst met catalogusnamen voor huidig of toekomstig gebruik:
- Catalogusnamen die beginnen met
SYS
- Catalogusnamen die beginnen met
DATABRICKS
Vermijd het gebruik van deze namen.
Gereserveerde schemanamen
Azure Databricks reserveert de volgende lijst met schemanamen voor huidig of toekomstig gebruik:
BUILTIN
Toekomstig gebruik om ingebouwde functies te kwalificeren.
SESSION
Toekomstig gebruik om tijdelijke weergaven en functies te kwalificeren.
INFORMATION_SCHEMA
Bevat het SQL Standard-informatieschema.
Schemanamen die beginnen met
SYS
ofDATABRICKS
Vermijd het gebruik van deze namen.
Gereserveerde ANSI-woorden
Azure Databricks dwingt geen gereserveerde ANSI-woorden af. De volgende lijst met SQL2016-trefwoorden is alleen ter informatie beschikbaar.
A
ALL, ALTER, EN, ANY, MATRIX, AS, AT, AUTORISATIE
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
GLOBAAL, VERLENEN, GROEPEREN, GROEPEREN
H
HEBBEN
I
IN, BINNEN, INVOEGEN, INTERSECT, INTERVAL, IN, IS
J
JOIN
L
VOORLOOP, LINKS, VIND IK LEUK, LOKAAL
N
NATUURLIJK, NEE, NIET, NULL
O
VAN, OP, ALLEEN OF, VOLGORDE, OUT, BUITEN, OVERLAPT
P
PARTITIE, POSITIE, PRIMAIR
R
BEREIK, VERWIJZINGEN, INTREKKEN, RECHTS, TERUGDRAAIEN, ROLLUP, RIJ, RIJEN
S
SELECT, SESSION_USER, SET, SOME, START
T
TABEL, TABELLENAMPLE, THEN, TIME, TO, TRAILING, TRUE, TRUNCATE
U
SAMENVOEGING, UNIEK, ONBEKEND, UPDATE, GEBRUIKER, MET
V
WAARDEN
W
WANNEER, WAAR, VENSTER, MET
Voorbeelden
-- 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