Databricks-SQL namen

Namen identificeren verschillende soorten objecten in Databricks SQL.

Databasenaam

Identificeert een database. Een database biedt een groepering van objecten in de catalogus.

Syntaxis

database_identifier

Parameters

Voorbeelden

> use default;

> create database my_db;

Schemanaam

Een synoniem voor databasenaam.

Tabelnaam

Hiermee wordt een tabelobject geïdentificeerd. De tabel kan worden gekwalificeerd met een databasenaam of niet-gekwalificeerd met behulp van een eenvoudige id.

Syntaxis

{ [ database_name . ] table_identifier |
  { file_format | `file_format` } . `path_to_table` }
  [temporal_specification]

temporal_specification
{
  @ timestamp_encoding |
  @V version |
  TIMESTAMP AS OF expr |
  VERSION AS OF version
}

Parameters

  • database_name: een gekwalificeerde of niet-gekwalificeerde databasenaam die de tabel bevat.

  • table_identifier: een id die de naam van de tabel of table_alias.

  • file_format: een van json csv , , , , , , , , avro , parquet orc binaryFile text delta (niet-gevoelig voor het geval).

  • path_to_table: de locatie van de tabel in het bestandssysteem. U moet de machtiging ANY_FILE hebben om deze syntaxis te gebruiken.

  • temporal_specification: wanneer gebruikt verwijst naar een Delta-tabel op het opgegeven tijdstip of de opgegeven versie.

    U kunt een tijdelijke specificatie alleen gebruiken binnen de context van een query of een MERGE USING.

    • @ timestamp_encoding: Een positieve BIGINT-letterlijke code die een tijdstempel in indeling yyyyMMddHHmmssSSS codeert.
    • @V versie: een positieve LETTERLIJKE INT-letterlijke identificatie van de versie van de Delta-tabel.
  • expr: een eenvoudige expressie die wordt geëvalueerd als een TIMESTAMP. expr moet een constante expressie zijn, maar kan current_date() of current_timestamp() bevatten.

Als de naam niet gekwalificeerd is en niet verwijst naar een bekende tabelalias, probeert Databricks SQL eerst de tabel op te lossen als een tabel in de huidige database.

Als de naam is gekwalificeerd met een database, probeert Databricks SQL om de tabel in de huidige catalogus op te lossen.

Databricks SQL een fout als u een gebruikt voor een tabel die niet temporal_specification de Delta Lake-indeling heeft.

Voorbeelden

`Employees`

employees

hr.employees

`hr`.`employees`

delta.`somedir/delta_table`

`csv`.`spreadsheets/data.csv`

Weergavenaam

Hiermee wordt een weergave geïdentificeerd. De weergave kan worden gekwalificeerd met een databasenaam of niet-gekwalificeerd met behulp van een eenvoudige id.

Syntaxis

[ database_name . ] view_identifier

Parameters

Voorbeelden

`items`

items

hr.items

`hr`.`items`

Kolomnaam

Hiermee wordt een kolom in een tabel of weergave geïdentificeerd. De kolom kan worden gekwalificeerd met een tabel- of weergavenaam, of niet-gekwalificeerd met behulp van een eenvoudige id.

Syntaxis

[ { table_name | view_name } . ] column_identifier

Parameters

  • table_name: een gekwalificeerde of niet-gekwalificeerde tabelnaam van de tabel die de kolom bevat.
  • view_name: een gekwalificeerde of niet-gekwalificeerde weergavenaam van de weergave die de kolom bevat.
  • column_identifier: een id die de naam van de kolom specificeert.

De geïdentificeerde kolom moet bestaan in de tabel of weergave.

Voorbeelden

> SELECT c1 FROM VALUES(1) AS T(c1);
 c1
 1

Functienaam

Hiermee wordt een functie geïdentificeerd. De functie kan worden gekwalificeerd met een databasenaam of niet-gekwalificeerd met behulp van een eenvoudige id.

Syntaxis

[ database_name . ] function_identifier

Parameters

Voorbeelden

`math`.myplus

myplus

math.`myplus`

Tabelalias

Labelt een tabelverwijzing, query, tabelfunctie of andere vorm van een relatie.

Syntaxis

[ AS ] table_identifier [ ( column_identifier1 [, ...] ) ]

Parameters

Als u kolom-id's op geeft, moet hun aantal overeenkomen met het aantal kolommen in de overeenkomende relatie.

Als u geen kolom-id's op geeft, worden de namen overgenomen van de gelabelde relatie.

Voorbeelden

> SELECT a, b FROM VALUES (1, 2) AS t(a, b);
 a  b
 1  2

> DELETE FROM emp AS e WHERE e.c1 = 5;

Kolomalias

Labelt het resultaat van een expressie in een SELECT lijst ter referentie.

Als de expressie een generatorfunctie voor tabelwaarde is,labelt de alias de lijst met geproduceerde kolommen.

Syntaxis

[AS] column_identifier
[AS] ( column_identifier [, ...] )

Parameters

Hoewel kolomaliassen niet uniek hoeven te zijn binnen de selectielijst, is uniekheid een vereiste om op naam naar een alias te verwijzen.

Voorbeelden

> SELECT 1 AS a;
 a
 1

> SELECT 1 a, 2 b;
 a b
 1 2

> SELECT 1 AS `a`;
 a
 1

> SELECT posexplode(array(2)) AS (i, a);
 i  a
 0  2

> SELECT a + a FROM (SELECT 1 AS a);
 a
 2