noms de SQL Databricks

Les noms identifient différents genres d’objets dans Databricks SQL.

Nom de la base de données

Identifie une base de données. Une base de données fournit un regroupement d’objets dans le catalogue.

Syntaxe

database_identifier

Paramètres

Exemples

> use default;

> create database my_db;

Nom du schéma

Synonyme du nom de la base de données.

Nom de la table

Identifie un objet table. La table peut être qualifiée avec un nom de base de données ou non qualifié à l’aide d’un identificateur simple.

Syntaxe

{ [ 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
}

Paramètres

  • database_name: nom de base de données qualifié ou non qualifié qui contient la table.

  • table_identifier: identificateur qui spécifie le nom de la table ou de la table_alias.

  • file_format:,,,,,,, (non-respect de la json csv avro parquet orc binaryFile text delta casse).

  • path_to_table: emplacement de la table dans le système de fichiers. Vous devez avoir l' ANY_FILE autorisation d’utiliser cette syntaxe.

  • temporal_specification: lorsqu’il est utilisé, fait référence à une table Delta au point spécifié dans le temps ou la version.

    Vous pouvez utiliser une spécification temporelle uniquement dans le contexte d’une requête ou d’une fusion à l’aidede.

    • @ timestamp_encoding: littéral bigint positif qui encode un horodateur au yyyyMMddHHmmssSSS format.
    • @V version: littéral int positif identifiant la version de la table Delta.
  • expr: expression simple qui prend la valeur d’un horodatage. expr doit être une expression constante, mais peut contenir current_date() ou current_timestamp() .

si le nom n’est pas qualifié et ne fait pas référence à un alias de tableconnu, Databricks SQL essaie tout d’abord de résoudre la table en tant que table dans la base de données actuelle.

si le nom est qualifié avec une base de données, Databricks SQL tente de résoudre la table dans le catalogue actuel.

Databricks SQL génère une erreur si vous utilisez un temporal_specification pour une table qui n’est pas au format Delta Lake.

Exemples

`Employees`

employees

hr.employees

`hr`.`employees`

delta.`somedir/delta_table`

`csv`.`spreadsheets/data.csv`

Nom de l’affichage

Identifie une vue. La vue peut être qualifiée avec un nom de base de données ou non qualifié à l’aide d’un identificateur simple.

Syntaxe

[ database_name . ] view_identifier

Paramètres

  • database_name: nom de base de données qualifié ou non qualifié qui contient la vue.
  • view_identifier: identificateur qui spécifie le nom de la vue ou l’identificateur de vue d’une CTE.

Exemples

`items`

items

hr.items

`hr`.`items`

Nom de la colonne

Identifie une colonne dans une table ou une vue. La colonne peut être qualifiée avec un nom de table ou de vue, ou non qualifiée à l’aide d’un identificateur simple.

Syntaxe

[ { table_name | view_name } . ] column_identifier

Paramètres

  • table_name: nom de table qualifié ou non qualifié de la table contenant la colonne.
  • view_name: nom de vue qualifié ou non qualifié de la vue contenant la colonne.
  • column_identifier: identificateur qui spécifie le nom de la colonne.

La colonne identifiée doit exister dans la table ou la vue.

Exemples

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

Nom de la fonction

Identifie une fonction. La fonction peut être qualifiée avec un nom de base de données, ou non qualifié à l’aide d’un identificateur simple.

Syntaxe

[ database_name . ] function_identifier

Paramètres

  • database_name: nom de base de données qualifié ou non qualifié contenant la fonction.
  • function_identifier: identificateur qui spécifie le nom de la fonction.

Exemples

`math`.myplus

myplus

math.`myplus`

Alias de table

Étiquette une référence de table, une requête, une fonction de table ou une autre forme de relation.

Syntaxe

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

Paramètres

Si vous fournissez des identificateurs de colonne, leur nombre doit correspondre au nombre de colonnes dans la relation correspondante.

Si vous ne fournissez pas d’identificateurs de colonne, leurs noms sont hérités de la relation étiquetée.

Exemples

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

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

Alias de colonne

Étiquette le résultat d’une expression dans une SELECT liste pour référence.

Si l’expression est une fonction de générateur table, l’alias étiquette la liste des colonnes produites.

Syntaxe

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

Paramètres

Bien que les alias de colonne ne soient pas nécessairement uniques dans la liste de sélection, l’unicité est obligatoire pour référencer un alias par nom.

Exemples

> 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