次選取

次選取 是全選的元件。

Read syntax diagramSkip visual syntax diagramselect-clausefrom-clausewhere-clausegroup-by-clausehaving-clause order-by-clause offset-clause fetch-clause isolation-clause

次選取指定從 FROM 子句所識別的表格、視圖或暱稱衍生的結果表格。 衍生可以描述為一連串作業,其中每一個作業的結果都是下一個作業的輸入。 (這只是說明次選取的一種方式。 用來執行衍生的方法可能與此說明非常不同。 如果部分次選取實際上不需要執行才能取得正確的結果,則可能或可能不會執行它們。)

次選取 的授權在「SQL 查詢」的「授權」區段中有說明。

次選取的子句按下列順序處理:
  1. FROM 子句
  2. WHERE 子句
  3. GROUP BY 子句
  4. HAVING 子句
  5. SELECT 子句
  6. ORDER BY 子句
  7. OFFSET 子句
  8. FETCH 子句
無法指定包含 ORDER BY 子句、OFFSET 子句或 FETCH 子句的次選取:
  • 在視圖的最外層全選中。
  • 在具體化查詢表格的外部全選中。
  • 除非次選取以括弧括住。
例如,下列無效 (SQLSTATE 428FJ):
SELECT * FROM T1
   ORDER BY C1
UNION
SELECT * FROM T2
   ORDER BY C1
下列範例 有效的:
(SELECT * FROM T1
   ORDER BY C1)
UNION
(SELECT * FROM T2
   ORDER BY C1)
附註: 次選取中的 ORDER BY 子句不會影響查詢所傳回列的順序。 如果在最外層全選中指定 ORDER BY 子句,只會影響所傳回列的順序。