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

> Devuelve una tabla conectada mediante un controlador JDBC.

# jdbc

<Note>
  clickhouse-jdbc-bridge contiene código experimental y ya no tiene soporte. Puede presentar problemas de fiabilidad y vulnerabilidades de seguridad. Úselo bajo su propia responsabilidad.
  ClickHouse recomienda usar las funciones de tabla integradas en ClickHouse, que ofrecen una mejor alternativa para escenarios de consultas ad hoc (Postgres, MySQL, MongoDB, etc.).
</Note>

La función de tabla JDBC devuelve una tabla conectada mediante un controlador JDBC.

Esta función de tabla requiere que el programa independiente [clickhouse-jdbc-bridge](https://github.com/ClickHouse/clickhouse-jdbc-bridge) esté en ejecución.
Admite tipos Nullable (según el DDL de la tabla remota que se consulta).

<div id="syntax">
  ## Sintaxis
</div>

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

<div id="examples">
  ## Ejemplos
</div>

En lugar del nombre de una base de datos externa, se puede especificar un esquema:

```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
```
