# Conjunctions

A conjunction of patterns requires all its constituent patterns to match its concepts. It is most commonly encountered as the body of a [match clause](../../pipelines/match/index.md).

## [](#_syntax)Syntax

A conjunction is represented by a sequence of patterns, each terminated by a semicolon.

```typeql
<pattern>; <pattern>; [ <pattern>; ... ]
```

Optionally, the conjunction may be enclosed in braces. In that case, like any pattern, the conjunction is also terminated by a semicolon.

```typeql
{ <pattern>; <pattern>; [ <pattern>; ... ] };
```

## [](#_example)Example

The following conjunction matches all users with name `Bob Dylan`:

```typeql
{
  $u isa user;
  $u has name "Bob Dylan";
};
```

This is a conjunction of two patterns: it must match some concept `$u` that is an instance of type `user`, _and_ `$u` must have an attribute of type `name` with value `"Bob Dylan"`.

[Patterns](../index.md) [Disjunctions](../disjunctions/index.md)

[Edit on GitHub](https://github.com/typedb/typedb-docs/edit/3.x-development/typeql-reference/modules/ROOT/pages/patterns/conjunctions.adoc) Edit this page on GitHub.