Bagikan melalui


klausa SELECT

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

Mengumpulkan kolom yang akan dikembalikan dari sub-pertanyaan, termasuk pelaksanaan ekspresi, agregasi, dan penghapusan duplikasi.

Sintaksis

SELECT [ hints ] [ ALL | DISTINCT ] { named_expression | star_clause } [, ...]

Parameter

  • petunjuk

    Petunjuk membantu pengoptimal Azure Databricks membuat keputusan perencanaan yang lebih baik. Azure Databricks mendukung petunjuk yang memengaruhi pemilihan strategi gabungan dan partisi ulang data.

  • SEMUA

    Pilih semua baris yang cocok dari referensi tabel. Diaktifkan secara default.

  • BERBEDA

    Pilih semua baris yang cocok dari referensi tabel setelah menghapus duplikat dalam hasil.

  • ekspresi_tertentu

    Ekspresi dengan nama opsional yang ditetapkan.

    • ekspresi

      Kombinasi satu atau beberapa nilai, operator, dan fungsi SQL yang mengevaluasi ke nilai.

    • column_alias

      Pengidentifikasi kolom opsional yang memberi nama hasil ekspresi. Jika tidak ada column_alias yang disediakan, Databricks SQL akan menghitungnya.

  • star_clause

    Singkatan untuk memberi nama semua kolom yang dapat dirujuk dalam FROM klausa atau kolom atau bidang referensi tabel tertentu dalam FROM klausa.

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