查詢

從一或多個數據表擷取結果集。

適用於:檢查標示為是 Databricks SQL 檢查標示為是 Databricks Runtime

語法

[ common_table_expression ]
  { subquery | set_operator }
  [ ORDER BY clause | { [ DISTRIBUTE BY clause ] [ SORT BY clause ] } | CLUSTER BY clause ]
  [ WINDOW clause ]
  [ LIMIT clause  ]
  [ OFFSET clause ]

subquery
{ SELECT clause |
  VALUES clause |
  ( query ) |
  TABLE [ table_name | view_name ]}

參數

  • 通用數據表表達式

    常見的數據表運算式 (CTE) 是一或多個具名查詢,可在主要查詢區塊內重複使用多次,以避免重複計算或改善複雜巢狀查詢的可讀性。

  • subquery

    產生中繼結果集的數個建構之一。

    • SELECT

      SELECT FROM WHERE 模式組成的子查詢。

    • VALUES

      指定內嵌臨時表。

    • 查詢

      查詢的巢狀調用,其中可能包含 set 運算符或通用數據表運算式。

    • 傳回整個數據表或檢視表。

      如果找不到數據表或檢視表,Azure Databricks 就會 引發TABLE_OR_VIEW_NOT_FOUND 錯誤。

  • set_operator

    使用 UNIONEXCEPTINTERSECT 運算子結合子查詢的建構。

  • ORDER BY

    查詢完整結果集之數據列的排序。 輸出數據列會依分割區排序。 這個參數與 SORT BYCLUSTER BYDISTRIBUTE BY 互斥,不能一起指定。

  • 散發依據

    重新分割結果數據列的一組表達式。 這個參數與 ORDER BYCLUSTER BY 互斥,而且不能一起指定。

  • 排序依據

    排序,每個數據分割內的數據列排序方式。 這個參數與 ORDER BYCLUSTER BY 互斥,而且不能一起指定。

  • CLUSTER BY

    一組表達式,用來重新分割和排序數據列。 使用這個子句的效果與使用 DISTRIBUTE BYSORT BY 一起使用的效果相同。

  • LIMIT

    語句或子查詢可以傳回的數據列數目上限。 這個子句大多與 搭配使用 ORDER BY ,以產生具決定性的結果。

  • OFFSET

    適用於:檢查標示為是 Databricks SQL 檢查標示為是 Databricks Runtime 11.3 LTS 和更新版本

    略過語句或子查詢所傳回的數據列數目。 這個子句主要用來搭配 LIMIT逐頁瀏覽 結果集,併 ORDER BY 產生具決定性的結果。

    注意

    使用 和 OFFSET 略過的數據列分頁時,仍會處理結果集LIMIT。 這些數據列只會從結果集隱藏。 不建議針對需要大量資源的查詢使用這項技術分頁。

  • WINDOW

    定義中多個 Window 函select_query式可以共用的具名窗口規格。