Общие табличные выражения CTE ("WITH … AS … SELECT")
Общие табличные выражения (Common Table Expressions), сокращённо CTE, описаны как виртуальные таблицы или представления, определённые в преамбуле основного запроса, которые участвуют в основном запросе.Основной запрос может ссылаться на любое CTE из определённых в преамбуле, как и при выборке данных из обычных таблиц или представлений.CTE могут быть рекурсивными, т.е. ссылающимися сами на себя, но не могут быть вложенными.
<query-expression> ::=
  [<with-clause>]
  <query-expression-body>
  [<order-by-clause>]
  [   <rows-clause>
    | { [<result-offset-clause>] [<fetch-first-clause>] }]
<with-clause> ::=
  WITH [RECURSIVE] <cte> [, <cte> ...]
<cte> ::=
  query-name [(<column-name-list>)] AS (<query-expression>)
<column-name-list> ::= column-name [, column-name ...]
| Параметр | Описание | 
|---|---|
| query-name | Имя табличного выражения. | 
| column-name | Псевдоним (алиас) для столбца табличного выражения. |