Fenntartott szavak és sémák

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

A fenntartott szavak az SQL nyelv által kulcsszavakként használt szókonstansok, amelyek nem használhatók azonosítóként a váratlan viselkedés elkerülése érdekében.

A fenntartott sémanevek különleges jelentéssel bírnak az Azure Databricks számára.

Fenntartott szavak

Az Azure Databricks hivatalosan nem tiltja meg egyes literálok azonosítókként való használatát.

Ha azonban az alábbi azonosítók bármelyikéttábla aliasakénthasználja, a nevet fordított aposztrófokkal (`) kell körülvenni.

  • ANTI
  • KERESZT
  • KIVÉVE
  • TELE
  • BELSŐ
  • METSZET
  • JOIN
  • OLDALSÓ
  • LEFT
  • MASZK
  • MÍNUSZ
  • TERMÉSZETES
  • ON
  • jobb / helyes / jog
  • FÉLIG
  • UNIÓ
  • HASZNÁLAT

Speciális szavak a kifejezésekben

A következő azonosítók listája bárhol használható, de az Azure Databricks előnyben részesíti őket, mint kulcsszavakat bizonyos kontextusokban a kifejezéseken belül:

  • NULL

    Az SQL-érték NULL .

  • DEFAULT

    Az alapértelmezett oszlopot jelzi.

  • TRUE

    Az SQL logikai true értéke.

  • FALSE

    Az SQL logikai false értéke.

  • LATERAL

    Használható oszlopjelölőként, hogy explicit laterális korrelációt jelezzen.

Használjon visszajeleket (NULL és DEFAULT), vagy minősítse az oszlopneveket táblázatnévvel vagy aliassal.

Az Azure Databricks az CURRENT_ előtaggal hivatkozik bizonyos konfigurációs beállításokra vagy egyéb környezeti változókra. Az aláhúzásjel (_) előtag az Azure Databricks pszeudo-oszlopokhozvonatkozik. A Databricks Runtime-ban egy meglévő áloszlop a _metadata oszlop.

Az ilyen előtagokkal rendelkező azonosítókat a rendszer nem kezeli kedvezményesen. Azonban kerülje el, hogy az oszlopok vagy a oszlop aliasok esetében előtagokat használjon, mert azok váratlan viselkedést eredményezhetnek.

Fenntartott katalógusnevek

Az Azure Databricks a következő listát foglalja le az aktuális vagy jövőbeli használatra katalógusnevekről:

  • Katalógusnevek, amelyek SYS-nal kezdődnek
  • Katalógusnevek, amelyek DATABRICKS-nal kezdődnek

Ne használja ezeket a neveket.

Fenntartott sémanevek

Az Azure Databricks a jelenlegi vagy jövőbeli használatra sémanevek alábbi listáját foglalja le:

  • BUILTIN

    A beépített függvények minősítésének jövőbeni használata.

  • SESSION

    Az ideiglenes nézetek és függvények minősítésére való jövőbeli felhasználás.

  • INFORMATION_SCHEMA

    Az SQL-szabvány információs sémáttartalmazza.

  • Séma-nevek SYS-val vagy DATABRICKS-gyel kezdődő

Ne használja ezeket a neveket.

ANSI fenntartott szavak

Az Azure Databricks nem kényszeríti ki a fenntartott ANSI-szavakat. A SQL2016 kulcsszavak alábbi listája csak tájékoztató jellegű.

  • A

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

  • B

    KÖZÖTT, MINDKETTŐ, ÁLTAL

  • C

    CASE, CAST, CHECK, COLLATE, COLUMN, COMMIT, , CONSTRAINTCREATE, 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

    HAMIS, LEKÉRÉS, SZŰRŐ, FOR, FOREIGN, FROM, FULL, FUNCTION

  • G

    GLOBÁLIS, GRANT, CSOPORT, CSOPORTOSÍTÁS

  • H

    HAVING

  • I

    IN, INNER, INSERT, METSZET, INTERVALLUM, INTO, IS

  • J

    JOIN

  • L

    BEVEZETŐ, BALRA, TETSZIK, HELYI

  • N

    TERMÉSZETES, NEM, NEM, NULL

  • O

    BIRTOKOS, ON, CSAK, VAGY, RENDELÉS, KI, KÜLSŐ, ÁTFEDÉSEK

  • P

    PARTITION, POZÍCIÓ, ELSŐDLEGES

  • R

    TARTOMÁNY, HIVATKOZÁSOK, REVOKE, JOBB, VISSZAÁLLÍTÁS, ÖSSZEGZÉS, SOR, SOROK

  • S

    SELECT, SESSION_USER, SET, NÉHÁNY, INDÍTÁS

  • T

    TABLE, TABLESAMPLE, MAJD, IDŐ, HOZ, VEZETŐ, IGAZ, CSONKOLÁS

  • U

    UNIÓ, EGYEDI, ISMERETLEN, UPDATE, FELHASZNÁLÓ, HASZNÁLVA

  • V

    VALUES

  • W

    MIKOR, WHERE, WINDOW, VELE

Példák

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