---
title: join package
description: The join package provides functions that join two table streams together.
url: https://docs.influxdata.com/flux/v0/stdlib/join/
estimated_tokens: 478
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/stdlib/join/
date: '2023-11-06T17:08:22-07:00'
lastmod: '2023-11-06T17:08:22-07:00'
---

* Flux 0.172.0+

InfluxDB support

The `join` package provides functions that join two table streams together.
Import the `join` package:

```js
import "join"
```

## Outer joins

The join transformation supports left, right, and full outer joins.

* **Left outer joins** generate at least one output row for each record in the left input stream.
  If a record in the left input stream does not have a match in the right input stream,`r` is substituted with a default record in the `as` function.
* **Right outer joins** generate at least one output row for each record in the right input stream.
  If a record in the right input stream does not have a match in the left input stream,`l` is substituted with a default record in the `as` function.
* **Full outer joins** generate at least one output row for each record in both input streams.
  If a record in either input stream doesn’t have a match in the other input stream,
  one of the arguments to the `as` function is substituted with a default record
  (either `l` or `r`, depending on which one is missing the matching record)

A default record has the same columns as the records in the corresponding input
table, but only group key columns are populated with a value. All other columns
are null.

## Inner joins

Inner joins drop any records that don’t have a match in the other input stream. There is no
need to account for default or unmatched records when performing an inner join.

## Functions

* [join.full()](/flux/v0/stdlib/join/full/)
* [join.inner()](/flux/v0/stdlib/join/inner/)
* [join.left()](/flux/v0/stdlib/join/left/)
* [join.right()](/flux/v0/stdlib/join/right/)
* [join.tables()](/flux/v0/stdlib/join/tables/)
* [join.time()](/flux/v0/stdlib/join/time/)

#### Related

* [Join data](/flux/v0/join-data/)
* [Troubleshoot join operations](/flux/v0/join-data/troubleshoot-joins/)

[transformations](/flux/v0/tags/transformations/)
