This CREATE TABLE … AS … WITH NO DATA request creates target_table from a subquery where all column expressions are named explicitly. No column names are defined for target_table because it is unnecessary.
Because the request specifies a subquery and no explicit table kind is specified, the table kind of target_table defaults to the session mode default, not to the table kind of subquery_table.
CREATE TABLE target_table AS (SELECT column_x + 1 AS column_x, column_y + 1 AS column_y FROM subquery_table ) WITH NO DATA;