# `Selecto.Subfilter.SQL.ExistsBuilder`

Builds EXISTS subqueries for subfilters.

This is the default strategy and is suitable for most subfilter patterns
where you just need to check for the existence of related records that
match a certain criteria.

## Example SQL

    EXISTS (
      SELECT 1
      FROM film_category fc
      JOIN category c ON fc.category_id = c.category_id
      WHERE fc.film_id = film.film_id
        AND c.name = 'Action'
    )

# `generate`

```elixir
@spec generate(
  Selecto.Subfilter.Spec.t(),
  Selecto.Subfilter.JoinPathResolver.JoinResolution.t(),
  any()
) ::
  {:ok, String.t(), [any()]} | {:error, Selecto.Subfilter.Error.t()}
```

Generate EXISTS subquery SQL for a given subfilter.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
