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

Názvy rezervovaných schémat 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.

Chcete-li však použít některý z následujícího seznamu identifikátorů jako alias tabulky , musíte název ohraničit zpětnými apostrofy (`).

  • 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í seznam identifikátorů lze použít kdekoli, ale Azure Databricks je upřednostňuje jako klíčová slova ve výrazech v určitých kontextech:

  • NULL

    Hodnota SQL NULL .

  • DEFAULT

    Označuje výchozí hodnotu ve sloupci.

  • TRUE

    Logická true hodnota SQL.

  • FALSE

    Logická false hodnota SQL.

  • LATERAL

    Slouží jako kvalifikátor sloupců k označení explicitní laterální korelace.

Použijte zpětné apostrofy (NULL a DEFAULT) nebo zpřesněte názvy sloupců pomocí názvu tabulky nebo aliasu.

Azure Databricks používá předponu CURRENT_ k odkazování na některá nastavení konfigurace nebo jiné kontextové proměnné. Předpona znaku podtržítka (_) je určena pro pseudosloupce Azure Databricks . V Databricks Runtime existuje pseudosloupec _metadata.

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

Rezervované názvy katalogů

Azure Databricks si vyhrazuje následující seznam názvů katalogu pro aktuální nebo budoucí použití:

  • Názvy katalogů začínající SYS
  • Názvy katalogů začínající DATABRICKS

Nepoužívejte tyto názvy.

Názvy rezervovaných schémat

Azure Databricks si vyhrazuje následující seznam názvů schémat pro aktuální nebo budoucí použití:

  • BUILTIN

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

  • SESSION

    Budoucí použití k kvalifikaci dočasných zobrazení a funkcí.

  • INFORMATION_SCHEMA

    Obsahuje informační schéma SQL standardu .

  • Názvy schémat začínající SYS nebo DATABRICKS

Nepoužívejte tyto názvy.

Rezervovaná slova ANSI

Azure Databricks nevynucuje rezervovaná slova ANSI. Následující seznam klíčových slov SQL2016 je k dispozici 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