Kata dan skema khusus

Berlaku untuk:centang ditandai ya Databricks SQL centang ditandai ya Databricks Runtime

Kata khusus 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 sudah ditentukan memiliki arti khusus untuk Azure Databricks.

Kata khusus

Azure Databricks tidak secara resmi melarang literal tertentu untuk digunakan sebagai pengidentifikasi.

Namun, untuk menggunakan salah satu daftar pengidentifikasi berikut sebagai alias tabel , Anda harus mengelilingi nama dengan tanda centang belakang (').

  • ANTI
  • CROSS
  • KECUALI
  • PENUH
  • Dalam
  • PERSILANGAN
  • JOIN
  • samping
  • Kiri
  • MINUS
  • ALAMI
  • AKTIF
  • benar
  • SEMI
  • GABUNGAN
  • Menggunakan

Kata-kata khusus dalam ekspresi

Daftar pengidentifikasi berikut dapat digunakan di mana saja, tetapi Azure Databricks memperlakukannya secara lebih disukai sebagai kata kunci dalam ekspresi dalam konteks tertentu:

  • NULL

    Nilai SQL NULL.

  • DEFAULT

    Menunjukkan kolom bawaan.

  • TRUE

    Nilai SQL boolean true.

  • FALSE

    Nilai SQL boolean false.

  • LATERAL

    Digunakan sebagai kualifikasi kolom untuk menunjukkan korelasi lateral eksplisit.

Gunakan tanda centang belakang (NULL dan DEFAULT) atau memenuhi syarat nama kolom dengan nama tabel atau alias.

Azure Databricks menggunakan awalan CURRENT_ untuk merujuk ke beberapa pengaturan konfigurasi atau variabel konteks lainnya. Awalan underbar (_) ditujukan untuk kolom semu Azure Databricks. Di Databricks Runtime, kolom pseudo yang ada adalah kolom _metadata.

Pengidentifikasi dengan awalan ini tidak diberi perlakuan istimewa. Namun, hindari kolom atau alias kolom yang menggunakan awalan ini untuk menghindari perilaku yang tidak terduga.

Nama katalog yang dipesan

Azure Databricks mencadangkan daftar nama katalog berikut untuk digunakan saat ini maupun di masa depan.

  • Nama katalog dimulai dengan SYS
  • Nama katalog dimulai dengan DATABRICKS

Hindari menggunakan nama-nama ini.

Nama skema yang terlarang

Azure Databricks mencadangkan daftar nama skema berikut untuk penggunaan saat ini atau di masa mendatang:

  • BUILTIN

    Penggunaan di masa mendatang untuk mengoptimalkan fungsi bawaan.

  • SESSION

    Penggunaan di masa mendatang untuk mengidentifikasi tampilan dan fungsi sementara.

  • INFORMATION_SCHEMA

    Menyimpan skema informasi Standar SQL.

  • Nama skema dimulai dengan SYS atau DATABRICKS

Hindari menggunakan nama-nama ini.

Kata khusus ANSI

Azure Databricks tidak menerapkan kata-kata cadangan ANSI. Daftar kata kunci SQL2016 berikut disediakan hanya untuk tujuan informasi.

  • A

    SEMUA, UBAH, DAN, APA SAJA, ARRAY, SEBAGAI, DI, OTORISASI

  • B

    ANTARA, KEDUA, OLEH

  • C

    CASE, CAST, CHECK, COLLATE, COLUMN, COMMIT, CONSTRAINT, CREATE, CROSS, CUBE, CURRENT, CURRENT_DATE, CURRENT_TIME, CURRENT_TIMESTAMP, CURRENT_USER

  • D

    HAPUS, DESKRIPSI, BERBEDA, HAPUS

  • E

    ELSE, END, ESCAPE, EXCEPT, EXISTS, EKSTERNAL, EKSTRAK

  • F

    FALSE, FETCH, FILTER, FOR, FOREIGN, FROM, FULL, FUNCTION

  • G

    GLOBAL, GRANT, GRUP, PENGELOMPOKAN

  • H

    HAVING

  • I

    DALAM, DALAM, INSERT, PERSIMPANGAN, INTERVAL, KE DALAM, ADALAH

  • J

    JOIN

  • L

    TERDEPAN, KIRI, SUKA, LOKAL

  • N

    ALAMI, TIDAK, BUKAN, NOL

  • O

    DARI, PADA, HANYA, ATAU, PESANAN, KELUAR, LUAR, TUMPUKAN

  • P

    PARTITION, POSISI, UTAMA

  • R

    RENTANG, REFERENSI, REVOKE, KANAN, PUTAR KEMBALI, ROLLUP, BARIS, BARIS

  • S

    SELECT, SESSION_USER, SET, BEBERAPA, MULAI

  • T

    TABLE, TABLESAMPLE, KEMUDIAN, WAKTU, KE, TERAKHIR, BENAR, MEMOTONG

  • U

    UNION, UNIQUE, UNKNOWN, UPDATE, USER, USING

  • V

    VALUES

  • W

    KAPAN, WHERE, WINDOW, 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