Palavras e esquemas reservados
Aplica-se a: Databricks SQL Databricks Runtime
Palavras reservadas são literais usadas como palavras-chave pela linguagem SQL que não devem ser usadas 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 formalmente que nenhum literal específico seja usado como identificadores.
No entanto, para usar qualquer uma das seguintes listas de identificadores como um alias de tabela, você deve cercar o nome com ticks inversos (').
- ANTI
- CRUZAMENTO
- EXCETO
- COMPLETO
- INTERIOR
- INTERSECT
- JOIN
- LATERAIS
- LEFT
- MENOS
- NATURAL
- ON
- RIGHT
- SEMI
- UNION
- UTILIZAÇÃO
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 dentro de expressões em determinados contextos:
NULL
O valor SQL
NULL
.DEFAULT
Indica um padrão de coluna.
TRUE
O valor booleano
true
SQL.FALSE
O valor booleano
false
SQL.LATERAL
Usado como qualificador de coluna para indicar correlação lateral explícita.
Use ticks invertidos (NULL
e DEFAULT
) ou qualifique os nomes das colunas com um nome de tabela ou alias.
O Azure Databricks usa o prefixo CURRENT_
para fazer referência a algumas definições de configuração ou outras variáveis de contexto.
O prefixo underbar (_
) destina-se a pseudocolunas do Azure Databricks.
No Databricks Runtime, uma pseudocoluna existente é a coluna _metadata.
Os identificadores com estes 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 catálogo para uso atual ou futuro:
- Nomes de catálogo começando com
SYS
- Nomes de catálogo começando com
DATABRICKS
Evite usar esses nomes.
Nomes de esquema reservados
O Azure Databricks reserva a seguinte lista de nomes de esquema para uso atual ou futuro:
BUILTIN
Uso futuro para qualificar funções integradas.
SESSION
Uso futuro para qualificar visualizações e funções temporárias.
INFORMATION_SCHEMA
Contém o esquema de informações do SQL Standard.
Nomes de esquema começando com
SYS
ouDATABRICKS
Evite usar esses nomes.
ANSI Palavras reservadas
O Azure Databricks não impõe palavras reservadas ANSI. A seguinte lista de palavras-chave SQL2016 é fornecida apenas para fins informativos.
A
TODOS, ALTERAR, E, QUALQUER, MATRIZ, COMO, EM, AUTORIZAÇÃO
B
ENTRE, AMBOS, POR
C
MAIÚSCULAS E MINÚSCULAS, TRANSMITIR, VERIFICAR, AGRUPAR, COLUNA, CONFIRMAR, RESTRIÇÃO, CRIAR, CRUZAR, CUBO, ATUAL, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP CURRENT_USER
D
ELIMINAR, DESCREVER, DISTINGUIR, LARGAR
E
SENÃO, FIM, FUGA, EXCETO, EXISTE, EXTERNO, EXTRAI
F
FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION
G
GLOBAL, SUBVENÇÃO, GRUPO, AGRUPAMENTO
H
HAVING
I
IN, INNER, INSERT, INTERSECT, INTERVAL, INTO, IS
J
JOIN
L
LIDERANDO, ESQUERDA, COMO, LOCAL
N
NATURAL, NÃO, NÃO, NULO
O
DE, SOBRE, APENAS, OU, ORDEM, FORA, EXTERIOR, SOBREPOSIÇÕES
P
PARTIÇÃO, POSIÇÃO, PRIMÁRIO
R
INTERVALO, REFERÊNCIAS, REVOGAÇÃO, DIREITA, REVERSÃO, ROLLUP, LINHA, LINHAS
S
SELECIONAR, SESSION_USER, DEFINIR, ALGUNS, INICIAR
T
TABLE, TABLESAMPLE, ENTÃO, TIME, TO, TRAILING, TRUE, TRUNCATE
U
UNIÃO, ÚNICO, DESCONHECIDO, ATUALIZAR, USUÁRIO, USANDO
V
VALORES
W
QUANDO, ONDE, JANELA, 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