> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> JDBC 드라이버를 통해 연결된 테이블을 반환합니다.

# jdbc

<Note>
  clickhouse-jdbc-bridge에는 Experimental 코드가 포함되어 있으며 더 이상 지원되지 않습니다. 신뢰성 문제와 보안 취약점이 있을 수 있습니다. 사용에 따른 위험은 사용자가 감수해야 합니다.
  ClickHouse는 임시 쿼리 시나리오(Postgres, MySQL, MongoDB 등)에서 더 나은 대안을 제공하는 ClickHouse의 내장 테이블 함수를 사용할 것을 권장합니다.
</Note>

JDBC 테이블 함수는 JDBC 드라이버를 통해 연결된 테이블을 반환합니다.

이 테이블 함수를 사용하려면 별도의 [clickhouse-jdbc-bridge](https://github.com/ClickHouse/clickhouse-jdbc-bridge) 프로그램이 실행 중이어야 합니다.
널 허용(Nullable) 타입을 지원합니다(쿼리하는 원격 테이블의 DDL 기준).

<div id="syntax">
  ## 구문
</div>

```sql theme={null}
jdbc(datasource, external_database, external_table)
jdbc(datasource, external_table)
jdbc(named_collection)
```

<div id="examples">
  ## 예시
</div>

외부 데이터베이스 이름 대신 스키마(schema)를 지정할 수 있습니다:

```sql theme={null}
SELECT * FROM jdbc('jdbc:mysql://localhost:3306/?user=root&password=root', 'schema', 'table')
```

```sql theme={null}
SELECT * FROM jdbc('mysql://localhost:3306/?user=root&password=root', 'select * from schema.table')
```

```sql theme={null}
SELECT * FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
```

```sql theme={null}
SELECT *
FROM jdbc('mysql-dev?p1=233', 'num Int32', 'select toInt32OrZero(''{{p1}}'') as num')
```

```sql theme={null}
SELECT a.datasource AS server1, b.datasource AS server2, b.name AS db
FROM jdbc('mysql-dev?datasource_column', 'show databases') a
INNER JOIN jdbc('self?datasource_column', 'show databases') b ON a.Database = b.name
```
