Aracılığıyla paylaş


SQL İşlem Hattı Söz Dizimi

Şunun için geçerlidir:evet olarak işaretli Databricks SQL evet olarak işaretli Databricks Runtime 16.2 ve üzeri

Azure Databricks, zincirlenmiş işleç birleşimlerinden sorgu oluşturmaya olanak tanıyan SQL işlem hattı söz dizimini destekler.

  • Herhangi bir sorgu, |>kanal karakteriyle ayrılmış bir son ek olarak sıfır veya daha fazla pipe operatörünü içerebilir.
  • Her kanallı işlem, bir veya daha fazla SQL anahtar sözcüğü ve ardından kendi sözdizimiyle başlar.
  • Operatörler herhangi bir sırayla, istenilen sayıda uygulanabilir.
  • Genellikle FROM relation_name işlem hattını başlatmak için kullanılır, ancak sorgu işlem hattını başlatabilir.

Sözdizimi

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

Parametreler

Örnek

Bu, ANSI SQL'de yazılmış TPC-H karşılaştırmasından 13. sorgudur:

> 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 kanal işleçlerini kullanarak aynı mantığı yazmak için şunu ifade edebilirsiniz:

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