Ayrılmış sözcükler ve şemalar
Şunun için geçerlidir: Databricks SQL denetimi yes Databricks Runtime
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
- IÇ
- 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