Dmitry Yemanov wrote:

Если смотреть на SQL, то это типичный DSL. Но неплохо бы добавить
возможность определять локальные иммутабельные переменные-множества типа:
x=select * from table
select * from x;
Это существенно упростит декомпозицию многоэтажных запросов и улучшит
читабельность.


Ну и чем это отличается от CTE?

Честно говоря не обдумывал насколько CTE мощно в этом плане. Возможно неудачный синтаксис виноват. Ну например сделать что то типа такого:
x=select ...
y=select ...
z=select ...
select * from x,y,z

Вопрос в читабельности.

Ответить