Every other SQL client makes you query one database at a time. Varan runs a single statement across all of them at once — a real JOIN, on your machine, with no ETL, no pipeline and nothing copied. A local-first DBeaver alternative, now in beta.
-- one query, four different systems
SELECT c.tier, SUM(o.total) AS revenue
FROM postgres.orders o
JOIN mysql.customers c USING (customer_id)
JOIN mongo.sessions s USING (customer_id)
JOIN 'targets.csv' t USING (tier)
GROUP BY c.tier
Request beta access →
macOS · Windows · Linux · Free for founding testers
Every source below becomes a table in the same workspace, and any two of them can appear in the same JOIN.
native drivers
PostgreSQL · MySQL · MariaDB · SQL Server · Oracle · SQLite
schema discovered, not guessed
MongoDB
presets over the Postgres / MySQL wire protocol
Neon · Supabase · CockroachDB · Amazon Redshift · TimescaleDB · PlanetScale · TiDB Cloud
queryable as ordinary tables
CSV · Excel · DuckDB
What is Varan?
Varan is a desktop SQL client that runs one SQL query across different databases and files — JOIN a MySQL table to a PostgreSQL table to a CSV or Excel file in a single query, powered by a local-first DuckDB engine, with no ETL. It also adds anomaly detection, column lineage and git-style rollback. Varan is a proprietary desktop app, free during the beta.
How do I join tables from different databases?
Point Varan at each source and run one SQL query with a normal JOIN across MySQL, PostgreSQL, DuckDB and spreadsheets. The join runs locally in DuckDB with read-only access — no ETL, no copying into one database first. Read the full guide →
Is Varan a DBeaver alternative?
Yes — it's a desktop SQL client like DBeaver, but it can join across different databases and files in a single query, and adds a Python surface, anomaly detection, lineage and git-style rollback. Varan vs DBeaver →
Can I query MySQL and PostgreSQL together?
Yes — one SQL statement joins a MySQL table to a PostgreSQL table (and to CSV or Excel files) without importing everything into one database.
Can I query MongoDB with SQL?
Yes — a collection becomes an ordinary SQL table. Nested fields like addr.city become normal columns, arrays of scalars become native list columns you can unnest, and you can JOIN the collection straight to a PostgreSQL or MySQL table. How it works →
How does Varan know a collection's schema?
It counts instead of guessing. Most tools infer a schema from a sample of documents and silently miss whatever the sample didn't contain. Varan enumerates every field, type, presence count and array element type across the whole collection with server-side aggregations. On 25,000 real GitHub events that recovered 100% of 909 fields; sampling the first 500 documents missed 154 of the 346 rare ones entirely. See the benchmark →
What if a field has more than one type?
It gets flagged, not silently coerced. Varan shows the exact evidence — how many documents used each type — and asks once. Your answer is saved and reused. On that same corpus, 17 fields out of 909 needed a decision.
Do I need admin access or a pipeline?
No — Varan uses read-only access and runs everything on your machine. No ETL, no exports, nothing written back to your sources.
Learn more: MongoDB as SQL · Query MongoDB with SQL · Schema-inference benchmark · Cross-source SQL · Anomaly detection · Column-level lineage · Data version control · Database rollback · vs DBeaver · vs DataGrip · vs TablePlus