Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
SQL do Databricks
Runtime do Databricks
Palavras reservadas são literais usados como palavra-chave pela linguagem SQL que não devem ser usados como identificadores para evitar comportamentos inesperados.
Os nomes de esquema reservados têm um significado especial para o Azure Databricks.
Palavras reservadas
O Azure Databricks não permite que nenhum literal específico seja usado como identificadores.
No entanto, para usar qualquer uma das seguintes lista de identificadores como um alias de tabela, você deve colocar o nome com tiques de volta (`).
- ANTI
- CROSS
- EXCEPT
- FULL
- INNER
- INTERSECT
- JOIN
- LATERAL
- LEFT
- MINUS
- NATURAL
- ATIVADO
- RIGHT
- SEMI
- UNION
- USING
Palavras especiais em expressões
A lista de identificadores a seguir pode ser usada em qualquer lugar, mas o Azure Databricks os trata preferencialmente como palavras-chave em expressões em determinados contextos:
NULLO valor
NULLde SQL.DEFAULTIndica um padrão de coluna.
TRUEO valor booliano
truede SQL.FALSEO valor booliano
falsede SQL.LATERALUsado como um qualificador de coluna para indicar a correlação lateral explícita.
Use tiques de volta ( NULL e DEFAULT ) ou qualifique os nomes de coluna com um nome de tabela ou alias.
O Azure Databricks usa o prefixo CURRENT_ para se referir a algumas definições de configuração ou outras variáveis de contexto.
O prefixo de barra inferior (_) destina-se a pseudocolunas do Azure Databricks.
No Databricks Runtime, uma pseudocoluna existente é a coluna _metadata.
Identificadores com esses prefixos não são tratados preferencialmente. No entanto, evite colunas ou aliases de coluna usando esses prefixos para evitar um comportamento inesperado.
Nomes de catálogo reservados
O Azure Databricks reserva a seguinte lista de nomes de esquema para uso futuro:
- Nomes de bancos de dados que começam com
SYS - Nomes de bancos de dados que começam com
DATABRICKS
Evitar usar esses nomes.
Nomes de esquema reservados
O Azure Databricks reserva a seguinte lista de nomes de esquema para uso futuro:
BUILTINUso futuro para qualificar funções internas.
SESSIONUso futuro para qualificar exibições e funções temporárias.
INFORMATION_SCHEMAMantém o esquema de informações do SQL Standard.
Nomes de esquema começando com
SYSouDATABRICKS
Evitar usar esses nomes.
Palavras reservadas para ANSI
O Azure Databricks não impõe palavras reservadas para ANSI. A lista a seguir de palavras-chave do SQL2016 é fornecida apenas para fins informativos.
A
ALL, ALTER, AND, ANY, ARRAY, AS, AT, AUTORIZAÇÃO
B
ENTRE, AMBOS, POR
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 (senão), END (fim), ESCAPE (escape), EXCEPT (exceto), EXISTS (existe), EXTERNAL (externo), EXTRACT (extrair)
F
FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION
G
GLOBAL, GRANT, GRUPO, AGRUPAMENTO
H
HAVING
I
IN, INNER, INSERT, INTERSECT, INTERVALO, INTO, É
J
JOIN
L
LÍDER, À ESQUERDA, COMO, LOCAL
N
NATURAL, NÃO, NÃO, NULL
O
DE, EM, SOMENTE, OU, ORDER, FORA, EXTERNO, SOBREPÕE-SE
P:
PARTITION, POSIÇÃO, PRIMÁRIO
R
INTERVALO, REFERÊNCIAS, REVOKE, DIREITA, REVERSÃO, ROLLUP, LINHA, LINHAS
S
SELECT, SESSION_USER, SET, ALGUNS, START
T
TABLE, TABLESAMPLEENTÃO, HORA, PARA, À DIREITA, VERDADEIRO, TRUNCADO
U
UNIÃO, EXCLUSIVO, DESCONHECIDO, , UPDATEUSUÁRIO, USANDO
V
VALUES
W
QUANDO, WHERE, WINDOW, COM
Exemplos
-- 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