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
Menyusun kumpulan hasil dari satu atau lebih referensi tabel .
Klausa SELECT dapat menjadi bagian dari kueri yang juga menyertakan ekspresi tabel umum (CTE), mengatur operasi, dan berbagai klausa lainnya.
Sintaks
SELECT clause
FROM table_reference [, ...]
[ LATERAL VIEW clause ]
[ WHERE clause ]
[ GROUP BY clause ]
[ HAVING clause]
[ QUALIFY clause ]
named_expression
expression [ column_alias ]
star_clause
[ { table_name | view_name } . ] * [ except_clause ]
except_clause
EXCEPT ( { column_name | field_name } [, ...] )
Parameter
-
Mengumpulkan kolom yang akan dikembalikan dari subkueri, termasuk pelaksanaan ekspresi, agregasi, dan deduplikasi.
-
Sumber input untuk
SELECT. Referensi input ini dapat diubah menjadi referensi streaming dengan menggunakanSTREAMkata kunci sebelum referensi.table_referenceJika adalah tampilan metrik, tidak boleh ada referensi tabel lain dalamFROMklausa. -
Digunakan bersama dengan fungsi generator seperti
EXPLODE, yang menghasilkan tabel virtual yang berisi satu atau beberapa baris.LATERAL VIEWmenerapkan baris ke setiap baris output asli.Di Databricks SQL, dan dimulai dengan Databricks Runtime 12.2 klausa ini tidak digunakan lagi. Anda harus memanggil fungsi generator bernilai tabel sebagai table_reference.
-
Memfilter hasil klausul
FROMberdasarkan predikat yang disediakan. -
Ekspresi yang digunakan untuk mengelompokkan baris. Ini digunakan bersama dengan fungsi agregat (
MIN,MAX,COUNT,SUM,AVG) untuk mengelompokkan baris berdasarkan ekspresi pengelompokan dan nilai agregat di setiap grup. Jika klausulFILTERdilampirkan ke fungsi agregat, hanya baris yang cocok yang diteruskan ke fungsi tersebut. -
Predikat di mana baris yang dihasilkan oleh
GROUP BYdifilter. KlausulHAVINGdigunakan untuk memfilter baris setelah pengelompokan dilakukan. Jika Anda menentukanHAVINGtanpaGROUP BY, ini menunjukkanGROUP BYtanpa ekspresi pengelompokan (agregat global). -
Predikat yang digunakan untuk memfilter hasil fungsi jendela. Untuk menggunakan
QUALIFY, setidaknya satu fungsi jendela diperlukan untuk hadir dalam daftar SELECT atau klausa QUALIFY.
Pilih pada tabel Delta
Selain opsi SELECT standar, tabel Delta mendukung opsi perjalanan waktu yang dijelaskan di bagian ini. Untuk informasi lebih lanjut, lihat Bekerja dengan riwayat tabel Delta Lake.
AS OF sintaks
table_identifier TIMESTAMP AS OF timestamp_expression
table_identifier VERSION AS OF version
-
timestamp_expressiondapat berupa salah satu dari:-
'2018-10-18T22:15:12.013Z', yaitu, string yang dapat ditransmisikan ke stempel waktu cast('2018-10-18 13:36:32 CEST' as timestamp)-
'2018-10-18', yaitu, string tanggal current_timestamp() - interval 12 hoursdate_sub(current_date(), 1)- Ekspresi lain yang sedang atau dapat ditransmisikan ke stempel waktu
-
-
versionadalah nilai panjang yang dapat diperoleh dari outputDESCRIBE HISTORY table_spec.
Baik timestamp_expression maupun version tidak boleh berupa subkueri.
Contoh
> SELECT * FROM events TIMESTAMP AS OF '2018-10-18T22:15:12.013Z'
> SELECT * FROM events VERSION AS OF 123
@ sintaks
Gunakan @ sintaks untuk menentukan stempel waktu atau versi. Stempel waktu harus dalam format yyyyMMddHHmmssSSS. Anda dapat menentukan versi setelah @ dengan menambahkan v ke versi tersebut. Misalnya, untuk mengkueri versi 123 untuk tabel events, tentukan events@v123.
Contoh
> SELECT * FROM events@20190101000000000
> SELECT * FROM events@v123
Contoh
-- select all referencable columns from all tables
> SELECT * FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3 4
-- select all referencable columns from one table
> SELECT t2.* FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
3 4
-- select all referencable columns from all tables except t2.c4
> SELECT * EXCEPT(c4) FROM VALUES(1, 2) AS t1(c1, c2), VALUES(3, 4) AS t2(c3, c4);
1 2 3
-- select all referencable columns from a table, except a nested field.
> SELECT * EXCEPT(c2.b) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { "a" : 2 }
-- Removing all fields results in an empty struct
> SELECT * EXCEPT(c2.b, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
1 { }
-- Overlapping names result in an error
> SELECT * EXCEPT(c2, c2.a) FROM VALUES(1, named_struct('a', 2, 'b', 3)) AS t(c1, c2);
Error: EXCEPT_OVERLAPPING_COLUMNS
Artikel terkait
- CLUSTER BY klausa
- ekspresi tabel umum (CTE)
- DISTRIBUTE BY klausa
- GROUP BY klausa
- HAVING klausa
- QUALIFY klausa
- Petunjuk
- VALUES klausa
- JOIN
- LATERAL VIEW klausa
- LIMIT klausa
- OFFSET klausa
- ORDER BY klausa
- PIVOT klausa
- Kueri
- SELECT klausa
- Operator Set
- SORT BY klausa
- Klausa bintang
- TABLESAMPLE klausa
- fungsi bernilai tabel (TVF)
- referensi tabel
- UNPIVOT klausa
- WHERE klausa
- WINDOW klausa
- fungsi Jendela