Kata dan skema yang dipesan
Berlaku untuk: pemeriksaan Databricks SQL Databricks Runtime
Kata yang dipesan adalah harfiah yang digunakan sebagai kata kunci oleh bahasa SQL yang tidak boleh digunakan sebagai pengidentifikasi untuk menghindari perilaku yang tidak terduga.
Nama skema yang dipesan memiliki arti khusus untuk Azure Databricks.
Kata yang dicadangkan
Azure Databricks tidak secara resmi melarang harfiah tertentu untuk digunakan sebagai pengidentifikasi.
Namun, untuk menggunakan salah satu daftar pengidentifikasi berikut sebagai alias tabel, Anda harus mengelilingi nama dengan back-ticks (').
- ANTI
- CROSS
- KECUALI
- PENUH
- BATIN
- BERPOTONGAN
- BERGABUNG
- LATERAL
- KIRI
- MINUS
- ALAMI
- PADA
- TEPAT
- SEMI
- UNION
- MENGGUNAKAN
Kata-kata khusus dalam ekspresi
Daftar pengidentifikasi berikut dapat digunakan di mana saja, tetapi Azure Databricks memperlakukannya lebih disukai sebagai kata kunci dalam ekspresi dalam konteks tertentu:
NULL
Nilai SQL
NULL
.DEFAULT
Menunjukkan default kolom.
TRUE
Nilai boolean
true
SQL.FALSE
Nilai boolean
false
SQL.LATERAL
Digunakan sebagai kualifikasi kolom untuk menunjukkan korelasi lateral eksplisit.
Gunakan back-ticks (NULL
dan DEFAULT
) atau kualifikasi nama kolom dengan nama tabel atau alias.
Azure Databricks CURRENT_
menggunakan awalan untuk merujuk ke beberapa pengaturan konfigurasi atau variabel konteks lainnya.
Awalan underbar (_
) ditujukan untuk kolom pseudo Azure Databricks.
Di Databricks Runtime, kolom pseudo yang ada adalah kolom _metadata.
Pengidentifikasi dengan awalan ini tidak diperlakukan lebih disukai. Namun, hindari alias kolom atau kolom menggunakan awalan ini untuk menghindari perilaku yang tidak terduga.
Nama katalog yang dicadangkan
Azure Databricks mencadangkan daftar nama katalog berikut untuk penggunaan saat ini atau di masa mendatang:
- Nama katalog dimulai dengan
SYS
- Nama katalog dimulai dengan
DATABRICKS
Hindari menggunakan nama-nama ini.
Nama skema yang dipesan
Azure Databricks mencadangkan daftar nama skema berikut untuk penggunaan saat ini atau di masa mendatang:
BUILTIN
Penggunaan di masa mendatang untuk memenuhi syarat fungsi bawaan.
SESSION
Penggunaan di masa mendatang untuk memenuhi syarat tampilan dan fungsi sementara.
INFORMATION_SCHEMA
Memegang skema informasi Standar SQL.
Nama skema yang dimulai dengan
SYS
atauDATABRICKS
Hindari menggunakan nama-nama ini.
Kata khusus ANSI
Azure Databricks tidak memberlakukan kata yang dipesan ANSI. Daftar kata kunci SQL2016 berikut disediakan hanya untuk tujuan informasi.
J
SEMUA, UBAH, DAN, APA PUN, ARRAY, SEBAGAI, PADA, OTORISASI
B
ANTARA, KEDUANYA, OLEH
C
CASE, CAST, CHECK, COLLATE, COLUMN, COMMIT, CONSTRAINT, CREATE, CROSS, CUBE, CURRENT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER
D
HAPUS, JELASKAN, BERBEDA, HILANGKAN
E
ELSE, END, ESCAPE, EXCEPT, EXISTS, EXTERNAL, EXTRACT
F
FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION
G
GLOBAL, GRANT, GROUP, GROUPING
H
MEMILIKI
I
IN, INNER, INSERT, INTERSECT, INTERVAL, INTO, IS
J
BERGABUNG
L
TERKEMUKA, KIRI, SEPERTI, LOKAL
N
NATURAL, NO, NOT, NULL
O
DARI, PADA, HANYA, ATAU, PESANAN, KELUAR, LUAR, TUMPANG TINDIH
P
PARTISI, POSISI, PRIMER
R
RENTANG, REFERENSI, CABUT, KANAN, PUTAR KEMBALI, ROLLUP, BARIS, BARIS
S
SELECT, SESSION_USER, SET, SOME, START
T
TABLE, TABLESAMPLE, THEN, TIME, TO, TRAILING, TRUE, TRUNCATE
U
UNION, UNIQUE, UNKNOWN, UPDATE, USER, USING
V
NILAI
W
KETIKA, DI MANA, JENDELA, DENGAN
Contoh
-- 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