Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:
Databricks SQL
Databricks Runtime
Singkatan untuk memberi nama semua kolom yang dapat dirujuk dalam FROM klausa, atau kolom atau bidang referensi tabel tertentu dalam FROM klausa.
Daftar kolom atau bidang diurutkan menurut urutan referensi tabel dan urutan kolom dalam setiap referensi tabel. Dalam kasus bidang, bidang diurutkan berdasarkan urutan bidang dalam struktur.
Kolom _metadata tidak disertakan dalam daftar ini. Anda harus merujuknya secara eksplisit.
Sebelum Databricks Runtime 15.0, klausul bintang (*) hanya dapat digunakan dalam SELECT daftar.
Sintaks
star_clause
[ name . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
Parameter
-
Jika nama adalah nama tabel, mencantumkan kolom dalam tabel yang dapat dirujuk yang ditentukan. Jika nama adalah nama kolom atau bidang jenis
STRUCT, mencantumkan bidang dalam kolom atau bidang yang dapat dirujuk yang ditentukan. Jika tidak ada mencantumkan semua kolom dari semua tabel yang dapat dirujuk dalam klausa FROM. klausa_kecuali
Berlaku untuk:
Databricks SQL
Databricks Runtime 11.3 LTS ke atasSecara opsional memangkas kolom atau bidang dari kumpulan kolom yang bisa direferensikan yang diidentifikasi dalam klausul
select_star.-
Kolom yang merupakan bagian dari kumpulan kolom yang dapat direferensikan.
-
Referensi pada bidang di dalam kolom kumpulan kolom yang dapat direferensikan. Jika Anda mengecualikan semua bidang dari
STRUCT, hasilnya akan menjadiSTRUCTyang kosong.
Setiap nama harus mereferensikan kolom yang disertakan dalam kumpulan kolom, yang bisa direferensikan atau bidangnya. Jika tidak, Databricks SQL menampilkan kesalahan UNRESOLVED_COLUMN. Jika nama tumpang tindih atau tidak unik, Databricks SQL akan menampilkan kesalahan EXCEPT_OVERLAPPING_COLUMNS.
-
Kondisi kesalahan umum
- CANNOT_RESOLVE_STAR_EXPAND
- EXCEPT_OVERLAPPING_COLUMNS
- INVALID_USAGE_OF_STAR_OR_REGEX
- UNRESOLVED_COLUMN
Contoh
– Return all columns in the FROM clause
> SELECT * FROM VALUES(1, 2) AS TA(c1, c2), VALUES('a', 'b') AS TB(ca, cb);
1 2 a b
– Return all columns from TA
> SELECT TA.* FROM VALUES(1, 2) AS TA(c1, c2), VALUES('a', 'b') AS TB(ca, cb);
1 2
– Return all columns except TA.c1 and TB.cb
> SELECT * EXCEPT (c1, cb) FROM VALUES(1, 2) AS TA(c1, c2), VALUES('a',' b') AS TB(ca, cb);
2 a
– Return all columns, but strip the field x from the struct.
> SELECT TA.* EXCEPT (c1.x) FROM VALUES(named_struct('x', x, 'y', 'y'), 2) AS (c1, c2), VALUES('a', 'b') AS TB(ca, cb);
{ y } 2 a b
-- Return all fields in c1.
> SELECT c1.* FROM VALUES(named_struct('x', x, 'y', 'y'), 2) AS (c1, c2), VALUES('a', 'b') AS TB(ca, cb);
x y
– Return the first not-NULL column in TA
> SELECT coalesce(TA.*) FROM VALUES(1, 2) AS TA(c1, c2), VALUES('a', 'b') AS TB(ca, cb);
1
-- Cannot expand star for a non-existent table.
> SELECT unknown_table.* FROM VALUES(1) AS t(c1);
Error: CANNOT_RESOLVE_STAR_EXPAND
-- Overlapping columns in `EXCEPT`.
> SELECT * EXCEPT(c1, c1) FROM VALUES(1, 2) AS t(c1, c2);
Error: EXCEPT_OVERLAPPING_COLUMNS