CREATE TABLE ... **EMPTY** AS SELECT

**Use case**

Create a table with the same structure as SELECT query returns but don't fill it.

**Describe alternatives you've considered**

CREATE TABLE ... AS DESCRIBE (SELECT ...)

\- more consistent but also more clunky.
bool is_ordinary_view = false;
    bool is_materialized_view = false;
    bool is_populate = false;
    bool replace_view = false;
    if (!s_create.ignore(pos, expected))
    {
        if (s_attach.ignore(pos, expected))
            attach = true;
        else
            return false;
    }
    
    if (s_or_replace.ignore(pos, expected))
    {
        replace_view = true;
    }
    if (!replace_view && s_materialized.ignore(pos, expected))
    {
        is_materialized_view = true;
    }
    else
        is_ordinary_view = true;
    if (!s_view.ignore(pos, expected))
        return false;
    if (!replace_view && s_if_not_exists.ignore(pos, expected))
        if_not_exists = true;
    if (!table_name_p.parse(pos, table, expected))
        return false;
    if (ParserKeyword{"ON"}.ignore(pos, expected))
    {