# Types of Joins

## Overview

Osmos Supports four primary join types

1. A **left join** helps you merge two sets of data while making sure you don't lose any information from the first set, even if there's no matching data in the second set. It's like adding extra details to a list without losing any names from the original list.
2. A **right join** is similar to a left join, but it focuses on keeping all the information from the second set of data (the right one) and adding matching information from the first set (the left one). Again, It's like merging two sets of data while ensuring you don't miss any details from the second set, regardless of whether there's a match in the first set or not.
3. An **inner join** is a way to combine two sets of data and only include the information that has a match in both sets. It's like creating a new list where you only keep the items that appear in both of your original lists and anything that doesn't have a match is left out.
4. A **full join**, also known as a full outer join, is like merging two sets of data in a way that you keep all the information from both sets. In other words, it combines the data from both sets and includes everything, whether there's a match or not.


---

# Agent Instructions: 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:

```
GET https://docs.osmos.io/datasets/performing-look-ups/performing-joins/types-of-joins.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
