> For the complete documentation index, see [llms.txt](https://upsolver.gitbook.io/content/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://upsolver.gitbook.io/content/reference-1/sql-commands/materialized-views.md).

# Materialized Views

When transforming your data, you may find that you need data from multiple source tables in order to achieve your intended result. In such a case, you can create a materialized view from one Upsolver table in order to join it with your other table (considered the main table).

A materialized view in Upsolver functions as a set of key-value pairs that map values in a key column to a value defined when the view is first created.&#x20;

{% hint style="info" %}
Note that all materialized views must contain aggregated data.
{% endhint %}

When used in a query, the materialized view is joined with an Upsolver table on its key column. Then, using the key column values, the join operation returns the corresponding values that map within the materialized view.

* [CREATE MATERIALIZED VIEW](/content/reference-1/sql-commands/materialized-views/create-materialized-view.md)
* [ALTER MATERIALIZED VIEW](/content/reference-1/sql-commands/materialized-views/alter-materialized-view.md)
* [DROP MATERIALIZED VIEW](/content/reference-1/sql-commands/materialized-views/drop-materialized-view.md)
* [Join with a Materialized View](/content/reference-1/sql-commands/materialized-views/join-with-a-materialized-view.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://upsolver.gitbook.io/content/reference-1/sql-commands/materialized-views.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
