Sdílet prostřednictvím


Vyhrazená slova a schémata

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Vyhrazená slova jsou literály používané jako klíčová slova jazyka SQL, které by se neměly používat jako identifikátory, aby nedocházelo k neočekávanému chování.

Rezervované názvy schema mají pro Azure Databricks zvláštní význam.

Vyhrazená slova

Azure Databricks formálně neuděluje, aby se žádné konkrétní literály nepoužívaly jako identifikátory.

Pokud ale chcete použít některý z následujících identifikátorů jako alias, musíte ho ohraničit zpětným apostrofem (`).

  • ANTI
  • KŘÍŽ
  • EXCEPT
  • PLNÝ
  • VNITŘNÍ
  • INTERSECT
  • JOIN
  • BOČNÍ
  • LEFT
  • MINUS
  • PŘIROZENÝ
  • ON
  • RIGHT
  • POLO
  • UNION
  • USING

Speciální slova ve výrazech

Následující identifikátory list z lze použít kdekoli, ale Azure Databricks je preferenčně považuje za klíčová slova ve výrazech v určitých kontextech:

  • NULL

    Hodnota SQL NULL .

  • DEFAULT

    Označuje výchozí column.

  • TRUE

    Logická true hodnota SQL.

  • FALSE

    Logická false hodnota SQL.

  • LATERAL

    Používá se jako column kvalifikátor k označení explicitní laterální korelace.

Použijte zpětné apostrofy (NULL a DEFAULT) nebo qualify k názvům column s názvem nebo aliasem table.

Azure Databricks používá předponu CURRENT_ k odkazování na některá nastavení konfigurace nebo jiné kontextové proměnné. Předpona podbaru (_) je určená pro Azure Databricks pseudo columns. V Databricks Runtime je existující pseudo column_metadata column.

Identifikátory s těmito předponami se nezpracovávají přednostně. Vyhněte se ale aliasům columns nebo column použitím těchto předpon, abyste se vyhnuli neočekávanému chování.

Rezervované názvy catalog

Azure Databricks si vyhrazuje následující názvy listcatalog pro aktuální nebo budoucí použití:

  • Catalog názvy začínající s SYS
  • Catalog názvy začínající na DATABRICKS

Nepoužívejte tyto názvy.

Rezervované názvy schema

Azure Databricks si vyhrazuje následující názvy listschema pro aktuální nebo budoucí použití:

  • BUILTIN

    Budoucí použití předdefinovaných funkcí qualify.

  • SESSION

    Budoucí použití pro dočasné qualify a views funkce.

  • INFORMATION_SCHEMA

    Má SQL standard informace schema.

  • Schema názvy začínající SYS nebo DATABRICKS

Nepoužívejte tyto názvy.

Rezervovaná slova ANSI

Azure Databricks nevynucuje rezervovaná slova ANSI. Následující list klíčových slov SQL2016 jsou poskytována pouze pro informační účely.

  • A

    ALL, ALTER, AND, ANY, ARRAY, AS, AT, AUTHORIZATION

  • B

    BETWEEN, BOTH, BY

  • 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, END, ESCAPE, EXCEPT, EXISTS, EXTERNAL, EXTRACT

  • F

    FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION

  • G

    GLOBAL, GRANT, SKUPINA, SKUPINOVÁNÍ

  • H

    HAVING

  • I

    IN, INNER, INSERT, PRŮSEČÍK, INTERVAL, DO, JE

  • J

    JOIN

  • L

    ÚVODNÍ, LEVÝ, LIKE, MÍSTNÍ

  • N

    NATURAL, NO, NOT, NULL

  • O

    OF, ON, ONLY, OR, ORDER, OUT, OUTER, OVERLAPS

  • P

    PARTITION, POZICE, PRIMÁRNÍ

  • R

    ROZSAH, ODKAZY, REVOKE, VPRAVO, VRÁCENÍ ZPĚT, SOUHRN, ŘÁDEK, ŘÁDKY

  • S

    SELECT, SESSION_USER, SET, NĚKTERÉ, START

  • T

    TABLE, TABLESAMPLE, PAK, ČAS, NA, NA KONCI, TRUE, TRUNCATE

  • U

    Sjednocení, Jedinečný, Neznámý, UPDATE, Uživatel, Použití

  • V

    VALUES

  • W

    WHEN, WHERE, WINDOW, WITH

Příklady

-- 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