Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:
Databricks SQL
Databricks Runtime
Uma referência de tabela é uma tabela de resultados intermediária dentro do SQL. Ele pode ser derivado de outros operadores, como funções, junções ou uma subconsulta, fazer referência a uma tabela base diretamente ou ser construído como uma tabela embutida.
Sintaxe
table_reference
{ table_name [ TABLESAMPLE clause ] [ table_alias ] |
{ STREAM table_name [ table_alias ] | STREAM ( table_name ) [ table_alias ] } |
view_name [ table_alias ] |
table_reference JOIN clause |
table_reference PIVOT clause |
table_reference UNPIVOT clause |
[ STREAM ] table_valued_function [ table_alias ] |
[ LATERAL ] table_valued_function [ table_alias ] |
VALUES clause |
[ LATERAL ] ( query ) [ TABLESAMPLE clause ] [ table_alias ] }
Parâmetros
-
Identifica uma tabela que pode conter uma especificação temporal . Veja Trabalhar com o histórico da tabela Delta Lake para obter detalhes.
Se a tabela não puder ser encontrada, o Azure Databricks gerará um erro TABLE_OR_VIEW_NOT_FOUND .
Consulte a resolução de colunas, campos, parâmetros e variáveis em para mais informações sobre a resolução de nomes.
Aplica-se a: **
Databricks Runtime 16.0 e posteriorestable_namepode incluir uma especificação de opções. -
Identifica uma vista ou uma expressão de tabela comum (CTE). Se a vista não puder ser encontrada, Azure Databricks gera um erro TABLE_OR_VIEW_NOT_FOUND.
Consulte a resolução de colunas, campos, parâmetros e variáveis em para mais informações sobre a resolução de nomes.
STREAMING
Retorna uma tabela ou uma função valorizada em tabela como fonte de streaming. As tabelas não podem ser fornecidas com uma especificação temporal quando usadas com a palavra-chave
STREAM. As fontes de streaming são mais comumente usadas nas definições de tabelas de streaming.-
Combina duas ou mais relações usando um join.
-
Aplica-se a:
Databricks SQL
Databricks Runtime 12.2 LTS e superior.Usado para perspetiva de dados; Você pode obter os valores agregados com base no valor específico da coluna.
Antes do Databricks Runtime 12.0, PIVOT é limitado a SELECT seguindo a cláusula
FROM. -
Aplica-se a:
Databricks SQL
Databricks Runtime 12.2 LTS e superior.Usado para perspetiva de dados; Você pode dividir vários grupos de colunas em linhas.
[LATERAL]invocação_de_função_de_valores_de_tabela
Invoca uma função com valor de tabela. Para se referir a colunas expostas por um
table_referenceanterior na mesma cláusulaFROM, deve-se especificarLATERAL.-
Define uma tabela embutida.
[LATERAL] ( consulta )
Calcula uma referência de tabela usando uma consulta. Uma consulta prefixada por
LATERALpode fazer referência a colunas expostas por umtable_referenceanterior na mesma cláusulaFROM. Tal construção é chamada de consulta correlacionada ou dependente.-
Opcionalmente, reduza o tamanho do conjunto de resultados amostrando apenas uma fração das linhas.
-
Opcionalmente, especifica um rótulo para o
table_reference. Se otable_aliasincluircolumn_identifiers, o seu número deve corresponder ao número de colunas notable_reference.
Selecionar na tabela Delta
Além das opções padrão de SELECT, as tabelas Delta suportam as opções de viagem no tempo descritas nesta seção. Para obter detalhes, consulte Trabalhar com o histórico da tabela Delta Lake.
AS OF Sintaxe
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
-
timestamp_expressionpode ser qualquer um:-
'2018-10-18T22:15:12.013Z', ou seja, uma cadeia de caracteres que pode ser convertida em um carimbo de data/hora cast('2018-10-18 13:36:32 CEST' as timestamp)-
'2018-10-18', ou seja, uma cadeia de caracteres de data current_timestamp() - interval 12 hoursdate_sub(current_date(), 1)- Qualquer outra expressão que seja ou possa ser convertida em um carimbo de data/hora
-
-
versioné um valor longo que pode ser obtido a partir da saída deDESCRIBE HISTORY table_spec.
Nem timestamp_expressionversion podem ser subconsultas.
Exemplo
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM events VERSION AS OF 123
@ Sintaxe
Use a @ sintaxe para especificar o carimbo de data/hora ou a versão. O carimbo de data/hora deve estar no yyyyMMddHHmmssSSS formato. Você pode especificar uma versão depois @ antecipando a v para a versão. Por exemplo, para consultar a versão 123 para a tabela events, especifique events@v123.
Exemplo
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Exemplos
-- Return a data set from a storage location using a credential.
> SELECT * FROM `csv`.`spreadsheets/data.csv` WITH(CREDENTIAL some_credential);
-- Select from a jdbc data source while controlling the fetch size.
> SELECT * FROM jdbcTable WITH(fetchSize = 0);
-- select all referencable columns from all tables
> SELECT * FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3 4
-- select all referencable columns from one table
> SELECT t2.* FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
3 4
-- select all referencable columns from all tables except t2.c4
> SELECT * EXCEPT(c4) FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3
-- select all referencable columns from a table, except a nested field.
> SELECT * EXCEPT(c2.b) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { "a" : 2 }
-- Removing all fields results in an empty struct
> SELECT * EXCEPT(c2.b, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { }
-- Overlapping names result in an error
> SELECT * EXCEPT(c2, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
Error: EXCEPT_OVERLAPPING_COLUMNS