Views in MotherDuck are created using standard SQL CREATE VIEW syntax, just like in DuckDB. The view definitions are stored in the metadata and reflect the results of their underlying queries, so querying a view always returns the latest data from its source tables. For example, you can create a view with CREATE VIEW v1 AS SELECT * FROM tbl; and then query v1 as if it were a table. Views are listed in the database catalog and can be queried, but they do not store data themselves—only the SQL definition is stored and executed on demand. According to DuckLake documentation, this is the standard behavior for views in DuckDB and, by extension, in MotherDuck.If you need more detail on how views interact with data sharing, permissions, or hybrid execution in MotherDuck, let me know.Sources:
- DuckLake documentation: Views
💡 Hint: Mention RunLLM in the thread for followups.
RunLLMIs there query performance hit when querying a view vs table ?
.png)