> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> EXISTS 语句的文档

# EXISTS

```sql theme={null}
EXISTS [TEMPORARY] [TABLE|DICTIONARY|DATABASE] [db.]name [INTO OUTFILE filename] [FORMAT format]
```

返回一个 `UInt8` 类型的单列：如果表或数据库不存在，该列包含单个值 `0`；如果表存在于指定的数据库中，则包含 `1`。

<h2 id="subquery-form">
  子查询形式
</h2>

`EXISTS` 运算符用于检查子查询是否返回了行。如果子查询结果为空，则返回 `0`；否则返回 `1`。

`EXISTS` 可用于 [`WHERE`](/docs/zh/reference/statements/select/where) 子句中。子查询不能引用外层查询中的表或列。

**语法**

```sql theme={null}
EXISTS(subquery)
```

**示例**

检查子查询是否返回任何行：

```sql title="Query" theme={null}
SELECT
    EXISTS(SELECT * FROM numbers(10) WHERE number > 8),
    EXISTS(SELECT * FROM numbers(10) WHERE number > 11)
```

```text title="Response" theme={null}
┌─in(1, _subquery1)─┬─in(1, _subquery2)─┐
│                 1 │                 0 │
└───────────────────┴───────────────────┘
```

在 `WHERE` 子句中将 `EXISTS` 与返回多行的子查询配合使用：

```sql title="Query" theme={null}
SELECT count()
FROM numbers(10)
WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 8)
```

```text title="Response" theme={null}
┌─count()─┐
│      10 │
└─────────┘
```

当子查询结果为空时，`EXISTS` 返回 `0`：

```sql title="Query" theme={null}
SELECT count()
FROM numbers(10)
WHERE EXISTS(SELECT number FROM numbers(10) WHERE number > 11)
```

```text title="Response" theme={null}
┌─count()─┐
│       0 │
└─────────┘
```
