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

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

SQL dilinde, anahtar sözcük olarak kullanılan ayrılmış kelimeler, beklenmedik davranışlardan kaçınmak için tanımlayıcı olarak kullanılmamalıdır.

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

Ayrılmış sözcükler

Azure Databricks, herhangi bir belirli değişmez değerin tanımlayıcı olarak kullanılmasını resmi olarak engellemez.

Ancak, aşağıdaki tanımlayıcı listesinden herhangi birini tablo takma adı olarak kullanmak için, adı ters tırnak işaretleri (`) ile çevrelemeniz gerekir.

  • ANTİ
  • HAÇ
  • EXCEPT
  • DOLU
  • İÇ
  • Kesişim
  • JOIN
  • YANAL
  • LEFT
  • EKSİ
  • DOĞAL
  • AÇIK
  • DOĞRU / SAĞ
  • YARI
  • Birlik
  • KULLANMA

İ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çinde anahtar sözcükler olarak değerlendirir:

  • NULL

    SQL NULL değeri.

  • DEFAULT

    Varsayılan sütunu gösterir.

  • TRUE

    SQL boole değeri true değeridir.

  • FALSE

    SQL boole değeri false değeridir.

  • 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ı CURRENT_ veya diğer bağlam değişkenlerine başvurmak için ön eki kullanır. Alt çizgi (_) ön eki, Azure Databricks sahte sütunları için tasarlanmıştır. Databricks Runtime'da, mevcut bir sahte sütun _metadata sütundur.

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

Rezerve edilmiş 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 gelecekteki kullanım.

  • INFORMATION_SCHEMA

    SQL Standart bilgi şemasını tutar.

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

Bu adları kullanmaktan kaçının.

ANSI Rezerve Kelimeler

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 (HEPSİ), ALTER (DEĞİŞTİR), AND (VE), ANY (HERHANGİ BİRİ), ARRAY (DİZİ), AS (OLARAK), AT (DE), AUTHORIZATION (YETKİLENDİRME)

  • B

    ARASINDA, HER İKİSİ, TARAFINDAN

  • C

    DURUM, TİP_DÖNÜŞÜMÜ, KONTROL, SIRALA, COLUMN, İŞLEMİ_TAMAMLA, CONSTRAINT, OLUŞTUR, ÇAPRAZ, KÜP, GÜNCEL, GÜNCEL_TARİH, GÜNCEL_SAAT, GÜNCEL_ZAMAN_DAMGASI, GÜNCEL_KULLANICI

  • D

    DELETE (Sil), DESCRIBE (Tanımla), DISTINCT (Farklı), DROP (Kaldır)

  • E

    ELSE, END, KAÇIŞ, HARİÇ, VAR, DIŞ, ÇIKAR

  • F

    YANLIŞ, GETİR, FİLTRELE, İÇİN, YABANCI, KAYNAK, TAM, FONKSİYON

  • G

    GLOBAL, GRANT, GRUP, GRUPLAMA

  • H

    HAVING

  • I

    IN, INNER, INSERT, KESİŞİM, ARALIK, İÇİNE, -DIR

  • J

    JOIN

  • L

    Baştaki, Sol, Beğen, Yerel

  • N

    DOĞAL, HAYIR, DEĞİL, NULL

  • O

    OF, ÜZERİNDE, YALNIZCA, VEYA, SİPARİŞ, DIŞARI, DIŞ, ÇAKIŞIR

  • P

    PARTITION, POZİSYON, BİRİNCİL

  • R

    ARALIK, BAŞVURULAR, REVOKE, SAĞ, GERİ ALMA, TOPLAMA, SATIR, SATIRLAR

  • S

    SELECT, SESSION_USER, SET, BAZI, BAŞLANGIÇ

  • T

    TABLE, TABLESAMPLE, SONRA, ZAMAN, İCİN, SONDAKI, DOĞRU, KESMEK

  • U

    BİRLEŞİM, EŞSİZ, BİLİNMEYEN, UPDATE, KULLANICI, KULLANIM

  • V

    VALUES

  • W

    NE ZAMAN, WHERE, WINDOW, İLE

Ö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