Freigeben über


VALUES-Klausel

Gilt für: durch Häkchen mit „Ja“ markiert Databricks SQL durch Häkchen mit „Ja“ markiert Databricks Runtime

Erzeugt eine temporäre Inlinetabelle zur Verwendung in der Abfrage.

Syntax

VALUES {expression | ( expression [, ...] ) } [, ...] [table_alias]

SELECT expression [, ...] [table_alias]

Parameter

  • expression

    Eine Kombination von einem oder mehreren Werten, Operatoren und SQL-Funktionen, die einen Wert ergeben.

  • table_alias

    Eine optionale Bezeichnung, die für den namentlichen Verweis auf das Resultset verwendet wird.

Jedes Tupel stellt eine Zeile dar.

Wenn mehrere Zeilen enthalten sind, muss die Anzahl der Felder in jedem Tupel übereinstimmen.

Wenn bei Verwendung der VALUES-Syntax keine Tupel angegeben werden, entspricht jeder Ausdruck einem einzelnen Feldtupel.

Bei Verwendung der SELECT-Syntax bilden alle Ausdrücke eine temporäre Tabelle mit einer einzelnen Zeile.

Das n-te Feld jedes Tupels muss einen kleinsten gemeinsamen Typ aufweisen. Wenn mit table_alias Spaltennamen angegeben werden, muss deren Anzahl mit der Anzahl der Ausdrücke pro Tupel übereinstimmen.

Das Ergebnis ist eine temporäre Tabelle, in der der Typ jeder Spalte der kleinste gemeinsame Typ der entsprechenden Tupelfelder ist.

Beispiele

-- single row, without a table alias
> VALUES ("one", 1);
  one    1

-- Multiple rows, one column
> VALUES 1, 2, 3;
 1
 2
 3

-- three rows with a table alias
> SELECT data.a, b
    FROM VALUES ('one', 1),
                ('two', 2),
                ('three', NULL) AS data(a, b);
   one    1
   two    2
 three NULL

-- complex types with a table alias
> SELECT a, b
  FROM VALUES ('one', array(0, 1)),
              ('two', array(2, 3)) AS data(a, b);
 one [0, 1]
 two [2, 3]

-- Using the SELECT syntax
> SELECT 'one', 2
 one 2