> (...) in subsequent SELECT, DELETE, INSERT, or UPDATE statements
The annoying part is that certain RDMBS engines (MySQL for instance) require you to write the INSERT keyword before any CTEs.
So, your T-SQL or PGSQL query:
`with cte1 as (...)
insert into ...
select ... from cte1;`
becomes:
`insert into ...
with cte1 as (...)
select ... from cte1;`
I know the difference is minor but when you deal with many different DB engines, it is simply annoying.