全部產品
Search
文件中心

OpenSearch:SQL查詢語句文法

更新時間:Aug 22, 2026

SQL是用於管理關聯性型資料庫的標準語言,其核心是查詢語句。本文為您介紹 SQL 查詢語句的核心文法概念。

SQL查詢語句

  • SELECT 語句用於從表中選取資料。SELECT語句是查詢文法的核心,所有進階查詢語法都是圍繞SELECT語句展開的。更多詳情請參見SELECT。

  • OpenSearch目前暫不支援擷取summary。更多詳情請參見FROM-Summary查詢。

  • WHERE語句用於有條件地從表中篩選合格資料。更多詳情請參見WHERE。

  • Group By用來對一個或者多個欄位彙總,以此算出相應的資料,比如最大值、最小值、平均值等。更多詳情請參見GROUP BY。

  • ORDER BY 語句用於對一個或者多個欄位進行排序。預設為升序(ASC)。由於排序效能較差,要求排序時必須加上LIMIT子句。更多詳情請參見ORDER BY。

  • UNION語句用來將多路相同schema的資料做合并。要求兩邊的欄位完全一致,包括欄位類型、欄位順序。更多詳情請參見UNION。

  • JOIN語句用於合并多個表的資料,擴充查詢維度。更多詳情請參見JOIN操作類型。

  • 動態參數類似資料庫中的PrepareStatement。使用者可以在SQL中設定placeholder(?表示),同時傳遞placeholder對應的值,引擎內部會自動替換。動態參數主要用於提高Cache命中率,對於查詢模式固定的情境效能提升明顯。更多詳情請參見動態參數。

  • TVF(Table Value Function)在TuringSQL中用來表示一類可以對整張表進行操作的函數集合。其的輸入由一個或者若干個標量參數和一個SQL(可以理解為一張表)組成,與之對應的輸出是一張表。更多詳情請參見Table Value Function。

  • CTE (Common Table Expresssion), 我們可以通過CTE定義一個臨時(query生存期)的命名結果集,在query接下來的查詢語句(不局限於SELECT,但是我們目前只支援了SELECT)中就可以直接引用這個CTE,從而達到簡化查詢的目的。更多詳情請參見Common Table Expression簡介。

使用限制

  • 目前不支援DDL及DML文法。

  • ORDER BY子句必須和LIMIT配對使用。

  • 使用UNNEST子句查詢子表時,不支援SELECT *。

  • JOIN目前只支援在Searcher上執行,需要業務方保證資料分布。

  • UNION需要保證兩邊的欄位名稱、欄位類型、欄位數量均要一致。

  • 數值分析索引不支援使用"="查詢,可以使用WHERE QUERY('consign_time', '[1, 10]')這樣的方式來查詢。