A few words about this.
At this moment, you must specify an alias for all sub-selects in FROM clause.
It's valid for PostgreSQL and MySQL.
In Snowflake you can skip it. But under the hood Snowflake name it automatically as "values". So, you can't use more than one unnamed sub-select in FROM clause, because "values" will conflict. And yes, you can address it as "values".*
Btw, there are some more "automatic aliases" in Snowflake:
- "VALUES" (capital letters, not the same) for values()
- "STAGE" for stages
- "LIST_DIR_TABLE" for directory tables
Absolutely insane behavior with sub-selects (named or unnamed) in the best and most popular DB in the world (he-he) - SQLite!
select * from (select 1) a, (select 1) bTry to guess without tests (post your version in the comments)