Condividi tramite


clausola SELECT

Si applica a:selezionare sì Databricks SQL selezionare sì Databricks Runtime

Raccoglie le colonne da restituire dalla sottoquery, inclusa l'esecuzione di espressioni, aggregazioni e deduplicazione.

Sintassi

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

Parametri

  • hint

    Gli hint consentono all'ottimizzatore di Azure Databricks di prendere decisioni di pianificazione migliori. Azure Databricks supporta gli hint che influenzano la selezione delle strategie di join e il repartizionamento dei dati.

  • TUTTO

    Selezionare tutte le righe corrispondenti nei riferimenti alla tabella. Abilitato per impostazione predefinita.

  • DISTINTO

    Selezionare tutte le righe corrispondenti dai riferimenti alla tabella dopo la rimozione dei duplicati nei risultati.

  • espressione_nominata

    Espressione con un nome assegnato facoltativo.

    • espressione

      Combinazione di uno o più valori, operatori e funzioni SQL che restituiscono un valore.

    • column_alias

      Identificatore di colonna facoltativo che denomina il risultato dell'espressione. Se non viene fornito alcun column_alias, Databricks SQL ne deriva uno.

  • stella_clausola

    Una sintassi abbreviata per denominare tutte le colonne referenziabili nella FROM clausola o le colonne o i campi di un riferimento di tabella specifico nella FROM clausola .

Esempi

-- 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