SQL-folyamat szintaxisa

A következőre vonatkozik:pipával jelölve: igen Databricks SQL pipával jelölve: igen Databricks Runtime 16.2 és újabb

Azure Databricks támogatja az SQL-folyamat szintaxisát, amely lehetővé teszi a lekérdezések összeláncolt operátorok kombinációjából való írását.

  • Bármely lekérdezés rendelkezhet nulla vagy több cső operátorával utótagként, amelyet a csőjogkivonat |> (vagy | a Databricks Runtime 18.0-s vagy újabb verziója) jelöl.
  • Minden csöves művelet egy vagy több SQL-kulcsszóval kezdődik, amelyet saját nyelvtan követ.
  • Az operátorok tetszőleges sorrendben, tetszőleges számú alkalommal alkalmazhatók.
  • A folyamat indításához általában FROM relation_name szolgál, de bármely lekérdezési elindíthat egy folyamatot.

Szintaxis

{ FROM | TABLE } relation_name { |> piped_operation } [ ...]

A Databricks Runtime 18.0-s és újabb verzióiban a következő helyett |használható|>:

{ FROM | TABLE } relation_name { | piped_operation } [ ...]

Paraméterek

Gyakori hibafeltételek

Példa

Ez az ANSI SQL-ben írt TPC-H benchmark 13 lekérdezése.

> SELECT c_count, COUNT(*) AS custdist
    FROM
    (SELECT c_custkey, COUNT(o_orderkey) c_count
      FROM customer
      LEFT OUTER JOIN orders ON c_custkey = o_custkey
                             AND o_comment NOT LIKE '%unusual%packages%'
     GROUP BY c_custkey
  ) AS c_orders
  GROUP BY c_count
  ORDER BY custdist DESC, c_count DESC;

Ha ugyanezt a logikát SQL-csőoperátorok használatával szeretné írni, az alábbi módon fejezheti ki:

> FROM customer
  |> LEFT OUTER JOIN orders ON c_custkey = o_custkey
                            AND o_comment NOT LIKE '%unusual%packages%'
  |> AGGREGATE COUNT(o_orderkey) c_count
     GROUP BY c_custkey
  |> AGGREGATE COUNT(*) AS custdist
     GROUP BY c_count
  |> ORDER BY custdist DESC, c_count DESC;