How to Run SQL Without Installing a Database
Wanting to run one SQL query should not require installing a database server, and on a managed work laptop it often is not even possible. Here is how to write real SQL against your own files with nothing installed at all.
Why this is normally hard
The conventional route to running SQL over a CSV is genuinely heavy:
- Install PostgreSQL, MySQL or SQL Server — which on a corporate machine needs admin rights you probably do not have
- Start a service, create a database, define a schema
- Write
CREATE TABLEwith a column list and types - Work out the import syntax for your file
- Only then, write the query you actually wanted
That is an afternoon of setup to answer a five-minute question, and it is why most people give up and fight with spreadsheet formulas instead.
The shortcut
A browser is already capable of parsing files and running a SQL engine over them. OmniSelect FileSQL does exactly that: the query engine runs inside your tab, so there is no server to install and nothing to ask IT for.
- Open the page.
- Drag your file onto the File Select panel. It becomes a table named by a letter from its filename —
staff.csvbecomesS. - Write SQL and press
Ctrl+Enter.
SELECT department, COUNT(*) AS headcount, AVG(salary) AS avg_pay
FROM S
WHERE start_date >= '2023-01-01'
GROUP BY department
HAVING COUNT(*) > 5
ORDER BY avg_pay DESC
No schema, no import, no permissions.
No install, no admin rights, no ticket to raise.
Open the tool →What SQL works here
The engine is AlaSQL, and it covers the standard query vocabulary:
| Category | Supported |
|---|---|
| Clauses | SELECT, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, OFFSET, DISTINCT |
| Joins | JOIN, LEFT JOIN, and UNION / UNION ALL |
| Aggregates | COUNT, SUM, AVG, MIN, MAX |
| Strings | UPPER, LOWER, TRIM, SUBSTRING, CONCAT, LIKE |
| Conditional | CASE WHEN … THEN … ELSE … END, COALESCE, IS NULL |
| Filtering | IN, BETWEEN, IS NOT NULL |
| Casting | CAST(x AS STRING), CAST(x AS NUMBER) |
What it deliberately is not
Being straight about the boundaries, because a tool that oversells itself wastes your afternoon:
- Nothing persists. Close the tab and the tables are gone. It is a query tool, not storage.
- No
INSERT/UPDATEworkflow. You read files and export results; you do not maintain a dataset in place. - No stored procedures, triggers, views or indexes.
- No window functions.
ROW_NUMBER() OVER (…)is not available, so ranking within groups needs a different approach. - Size ceiling. 50 MB and a million rows per file. Beyond that, DuckDB or a real warehouse is the right tool.
Good for learning SQL
If you are learning, the usual obstacle is not the syntax — it is that every tutorial begins with installing something. Here you can practise against data you actually care about: your bank export, a dataset you downloaded, your own exported spreadsheets. Queries run instantly and mistakes cost nothing, because the source file is never modified.
Start with analysing a CSV in three steps, then move to joins, which is where SQL starts to beat spreadsheets decisively.