---
page_title: setintersection - Functions - Configuration Language
description: |-
  The setintersection function takes multiple sets and produces a single set
  containing only the elements that all of the given sets have in common.
---

# `setintersection` Function

The `setintersection` function takes multiple sets and produces a single set
containing only the elements that all of the given sets have in common.
In other words, it computes the
[intersection](https://en.wikipedia.org/wiki/Intersection_\(set_theory\)) of the sets.

```hcl
setintersection(sets...)
```

## Examples

```
> setintersection(["a", "b"], ["b", "c"], ["b", "d"])
[
  "b",
]
```

The given arguments are converted to sets, so the result is also a set and
the ordering of the given elements is not preserved.

## Related Functions

* [`contains`](/language/functions/contains) tests whether a given list or set contains
  a given element value.
* [`setproduct`](/language/functions/setproduct) computes the _Cartesian product_ of multiple
  sets.
* [`setsubtract`](/language/functions/setsubtract) computes the _relative complement_ of two sets
* [`setunion`](/language/functions/setunion) computes the _union_ of
  multiple sets.
