Ayrılmış sözcükler ve şemalar

Şunun için geçerlidir:evet olarak işaretlendi Databricks SQL denetimi yes Databricks Runtime olarak işaretlendi

Ayrılmış sözcükler, beklenmeyen davranışlardan kaçınmak için tanımlayıcı olarak kullanılmaması gereken SQL dili tarafından anahtar sözcük olarak kullanılan değişmez değerlerdir.

Ayrılmış şema adlarının Azure Databricks için özel bir anlamı vardır.

Ayrılmış sözcükler

Azure Databricks, belirli değişmez değerlerin tanımlayıcı olarak kullanılmasına izin vermez.

Ancak, aşağıdaki tanımlayıcı listesinden herhangi birini tablo diğer adı olarak kullanmak için, adı geri işaretleriyle (') çevrelemeniz gerekir.

  • ANTİ
  • ÇAPRAZ
  • DIŞINDA
  • TAM
  • KESİŞEN
  • KATILIN
  • LATERAL
  • SOL
  • EKSİ
  • DOĞAL
  • -INI
  • DOĞRU
  • YARI
  • BİRLİĞİ
  • KULLAN -ARAK

İfadelerdeki özel sözcükler

Aşağıdaki tanımlayıcı listesi her yerde kullanılabilir, ancak Azure Databricks bunları tercihen belirli bağlamlardaki ifadelerin içindeki anahtar sözcükler olarak değerlendirir:

  • NULL

    SQL NULL değeri.

  • DEFAULT

    Varsayılan bir sütunu gösterir.

  • TRUE

    SQL boole değeri true .

  • FALSE

    SQL boole değeri false .

  • LATERAL

    Açık yanal bağıntıyı göstermek için sütun niteleyicisi olarak kullanılır.

Geri işaretlerini (NULL ve DEFAULT) kullanın veya sütun adlarını bir tablo adı veya diğer adla niteleyin.

Azure Databricks, bazı yapılandırma ayarlarına veya diğer bağlam değişkenlerine başvurmak için ön eki kullanırCURRENT_. Alt çubuk (_) ön eki Azure Databricks sahte sütunlarına yöneliktir. Databricks Runtime'da, mevcut bir sahte sütun _metadata sütunudur.

Bu ön eklere sahip tanımlayıcılar tercihen ele alınmaz . Ancak, beklenmeyen davranışlardan kaçınmak için bu ön ekleri kullanarak sütun veya sütun diğer adlarını kullanmaktan kaçının.

Ayrılmış katalog adları

Azure Databricks, geçerli veya gelecekteki kullanımlar için aşağıdaki katalog adlarını ayırır:

  • Ile başlayan katalog adları SYS
  • Ile başlayan katalog adları DATABRICKS

Bu adları kullanmaktan kaçının.

Ayrılmış şema adları

Azure Databricks, geçerli veya gelecekteki kullanımlar için aşağıdaki şema adlarının listesini ayırır:

  • BUILTIN

    Yerleşik işlevleri niteleme amacıyla gelecekte kullanım.

  • SESSION

    Geçici görünümleri ve işlevleri niteleme amacıyla gelecekte kullanım.

  • INFORMATION_SCHEMA

    SQL Standart bilgi şemasını tutar.

  • veya ile SYS başlayan şema adları DATABRICKS

Bu adları kullanmaktan kaçının.

ANSI Ayrılmış sözcükler

Azure Databricks, ANSI ayrılmış sözcüklerini zorunlu kılmaz. Aşağıdaki SQL2016 anahtar sözcükleri listesi yalnızca bilgilendirme amacıyla sağlanır.

  • 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

    GENEL, GRANT, GRUPLAMA, GRUPLANDıRMA

  • H

    SAHIP OLMA

  • I

    IN, INNER, INSERT, INTERSECT, INTERVAL, INTO, IS

  • J

    KATILIN

  • L

    BAŞTAKI, SOL, LIKE, YEREL

  • N

    NATURAL, HAYıR, DEĞİl, NULL

  • O

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

  • P

    BÖLÜM, KONUM, BİRİnCİl

  • R

    ARALıK, BAŞVURULAR, İPTAL ETME, SAĞ, GERI ALMA, TOPLAMA, SATıR, SATıRLAR

  • S

    SELECT, SESSION_USER, SET, SOME, START

  • T

    TABLE, TABLESAMPLE, THEN, TIME, TO, TRAILING, TRUE, TRUNCATE

  • U

    UNION, UNIQUE, UNKNOWN, UPDATE, USER, USING

  • V

    DEĞER

  • W

    WHEN, WHERE, WINDOW, WITH

Örnekler

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