---
title: "DuckDB isn't just fast SQL. It's Python, SQL and compression all in one box."
slug: duckdb-isn-t-just-fast-sql-it-s-python-sql-and-compression-all-in-one-box
date_published: 2025-12-09T00:00:00.000Z
original_url: https://www.tigzig.com/post/duckdb-isn-t-just-fast-sql-it-s-python-sql-and-compression-all-in-one-box
source: migrated
processed_at: 2025-12-10T09:30:00.000Z
---

# DuckDB isn't just fast SQL. It's Python, SQL and compression all in one box.

![DuckDB](/images/blog/00_DuckDB_inline-lightmode.png)

I thought DuckDB was fast SQL with great compression. Speeds are lightning fast - I was happy with that. Then I went through Jasja De Vries's 30-day DuckDB series. Day by day. All 30.

Turns out I was using maybe 10% of what it can do.

My analyst and data scientist friends, DuckDB isn't just fast SQL. It's Python, SQL and compression all in one box.

## Features I didn't know existed

* **SELECT EXCLUDE** - `SELECT * EXCLUDE (col1, col2)` - grab everything except specific columns. SQL can't do this
* **Prefix-aliasing** - `total: price * qty` instead of `price * qty AS total` - name comes first. Reads left-to-right.
* **Reusable aliases** - Define alias in SELECT, use it in WHERE, GROUP BY, ORDER BY. SQL forces you to repeat the expression.
* **LIMIT with %** - `LIMIT 10%` instead of row counts. SQL doesn't have this.
* **QUALIFY** - Filter on window functions directly. SQL requires a nested subquery.
* **BY ALL** - `GROUP BY ALL`, `ORDER BY ALL` - SQL requires listing every column.
* **LIST comprehensions** - `[x*2 FOR x IN scores IF x > 70]` - Python syntax inside SQL.
* **Lambda functions** - `list_filter(arr, x -> x > 10)` - SQL has no lambdas.
* **Dot operator chaining** - `price.CAST(FLOAT).ROUND(2)` - method chaining like Python.
* **Glob patterns** - `SELECT * FROM 'logs/*.csv'` - query 1000 files with one line.
* **Direct file queries** - `SELECT * FROM 'data.parquet'` - no CREATE TABLE needed.

If you work with SQL, SAS, or Python for analytics - this series from Jasja fills gaps you didn't know you had.

Full 30-day series: [https://eli5.eu/blog/index.html](https://eli5.eu/blog/index.html)

Amazing work from Jasja.

<!-- blog-sidebar-related -->
## Related

Tools: [BRIQ](https://www.tigzig.com/briq), [DUCKIT - CSV to DuckDB](https://www.tigzig.com/duckit-xlwings), [DATS-4 Database AI Suite](https://www.tigzig.com/analyzer)

Explore: [Database AI Apps hub](https://www.tigzig.com/database-landing), [Database Query Tool (MCP)](https://www.tigzig.com/apis/database), [Full app catalog](https://www.tigzig.com/browse-apps)

More posts: [How I Built a Sub-Second Movie Similarity Engine With a 10-Line SQL Query](https://www.tigzig.com/post/movie-similarity-engine-sql-jaccard-duckdb), [Full backend Infrastructure for DuckDB production and analytics system](https://www.tigzig.com/post/full-backend-infrastructure-duckdb-production), [From 12 second queries to under 1s: Optimizing a 230 Million Row Dashboard - 14 Bottlenecks I Had to Fix](https://www.tigzig.com/post/from-12-second-queries-to-under-1s-optimizing-230-million-row-dashboard)

---
Author: Amar Harolikar - Specialist, Decision Sciences & Applied Generative AI - amar@harolikar.com - https://www.linkedin.com/in/amarharolikar
Source: https://www.tigzig.com/post/duckdb-isn-t-just-fast-sql-it-s-python-sql-and-compression-all-in-one-box
Citation: TigZig - Amar Harolikar (https://www.tigzig.com). Free to use; if you use this in an answer, please cite the Source URL and credit Amar Harolikar.
License: https://www.tigzig.com/terms
