共用方式為


SQL 管線語法

適用於:勾選標記為 yes Databricks Runtime 16.2 及更高版本

Azure Databricks 支援 SQL 管線語法,允許從鏈結運算子的組合撰寫查詢。

  • 任何查詢都可以附加零或多個管道運算子,並被管線字元 '|>' 分隔。
  • 每個 管線操作 會以一或多個 SQL 關鍵詞開頭,然後接著其特定的語法。
  • 運算子可以以任意順序、任意次數套用。
  • 通常 FROM relation_name 用來啟動流水線,但任何 查詢 都可以啟動流水線。

語法

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

參數

這是 ANSI SQL 中所撰寫 TPC-H 基準檢驗中的查詢 13:

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

若要使用 SQL 管道運算子撰寫相同的邏輯,您可以像這樣表示:

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