Join CSV Files with SQL

Join two or more CSV files with SQL JOIN: inner, left, right or full. Runs in your browser with DuckDB and nothing is uploaded.

Quick answer: Add files, write SQL, download the result.

Related: SQL on Your Files: Query CSV, Excel and Parquet · Query a CSV File with SQL · Run SQL on an Excel File · Query Parquet Files Online · CSV Guides and Free CSV Tools

How to use the Join CSV Files with SQL

Add files, write SQL, download the result.

SQL on Your Files lets you query CSV, Excel, JSON and Parquet files with real SQL, without installing a database or a tool like DBeaver. Add one or more files, each becomes a table, then write SELECT, JOIN, GROUP BY, window functions and more. It uses DuckDB, a fast analytics database that runs inside your browser, so your files stay on your device. The SQL engine itself (about 30 MB) is downloaded once from a CDN the first time you run a query.

  1. Add one or more files
  2. Write a SQL query using the table names
  3. Run it and download the result

Tips

Example

Input: orders.csv + customers.csv

Output: joined result

Browse by topic

Who uses Data Utility

Frequently asked questions · Data format benchmark

Frequently asked questions

How do I join two CSV files with SQL?

Add both files, then write SELECT with JOIN ... ON between the two table names. For a point-and-click join, use Data Transformation.

Which SQL does it use?

DuckDB SQL, which is close to PostgreSQL. Joins, aggregates, window functions, CTEs and date functions all work.

Does it work offline?

Not the first time, because the SQL engine is downloaded when you first run a query.

Can I run SQL on a CSV file without a database?

Yes. Add the file, write a query such as SELECT * FROM my_file WHERE amount > 100, and run it. It uses DuckDB in your browser, so there is nothing to install and the file is not uploaded.

Related pages

Topic guides