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.
if (s_create.ignore(pos, expected))
    {
        if (s_or_replace.ignore(pos, expected))
        {
            replace = true;
            or_replace = true;
        }
    }
    else if (s_attach.ignore(pos, expected))
        attach = true;
    else if (s_replace.ignore(pos, expected))
        replace = true;
    else
        return false;
    if (!s_dictionary.ignore(pos, expected))
        return false;
    if (s_if_not_exists.ignore(pos, expected))
        if_not_exists = true;
    if (!dict_name_p.parse(pos, name, expected))
        return false;
    if (s_on.ignore(pos, expected))
    {
        if (!ASTQueryWithOnCluster::parse(pos, cluster_str, expected))
            return false;
    }
    if (!attach)
    {
        if (!s_left_paren.ignore(pos, expected))
            return false;
        if (!attributes_p.parse(pos, attributes, expected))